社区
Java EE
帖子详情
使用hibernate注解,如何标识一个属性非数据库的字段
daichangfu
2012-08-01 09:53:32
使用hibernate注解,如何标识一个属性非数据库的字段。
就是说一个实体类对应了一张表,但是这个实体类中有一个属性不对应表中的字段,这个怎么办???
...全文
8798
6
打赏
收藏
使用hibernate注解,如何标识一个属性非数据库的字段
使用hibernate注解,如何标识一个属性非数据库的字段。 就是说一个实体类对应了一张表,但是这个实体类中有一个属性不对应表中的字段,这个怎么办???
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
逆天小北鼻
2012-08-01
打赏
举报
回复
直接写在实体类里面就可以了
tianyc
2012-08-01
打赏
举报
回复
package com.ruanko.model.ad;
import java.io.Serializable;
import sun.nio.cs.HistoricallyNamedCharset;
import com.ruanko.model.BaseObject;
/**
*
* @author tianyucheng
* @hibernate.class
* table="AD_HOME"
*
*/
@SuppressWarnings({ "unchecked", "serial" })
public class AdHome extends BaseObject implements Serializable, Comparable<AdHome> {
/**
* 深色字
*/
public static Long AD_TYPE_DARK = Long.valueOf(2);
/**
* 浅色字
*/
public static Long AD_TYPE_LIGHT = Long.valueOf(1);
/**
* adhomeCacheName(缓存名称)
*/
public static String ADHOME_CACHENAME="AdHome";
/** identifier field */
private Long adId; //广告id
private String adContent; //广告内容
private String adContentEncoded; //广告内容辅助字段
private Long adOrder; //广告序号
private Long adType; //广告字体类型(1浅色 2.深色)
/**
* @hibernate.id generator-class="sequence" type="java.lang.Long" column="ad_id"
* @hibernate.generator-param name="sequence" value="seq_adhome"
*
*/
public Long getAdId() {
return adId;
}
public void setAdId(Long adId) {
this.adId = adId;
}
/**
* @hibernate.property column="ad_content" length="1000" not-null="true"
*
*/
public String getAdContent() {
return adContent;
}
public void setAdContent(String adContent) {
this.adContent = adContent;
}
/**
* @hibernate.property column="ad_order" length="10" not-null="false"
*
*/
public Long getAdOrder() {
return adOrder;
}
public void setAdOrder(Long adOrder) {
this.adOrder = adOrder;
}
/**
* @hibernate.property column="ad_type" length="2" not-null="false"
*
*/
public Long getAdType() {
return adType;
}
public void setAdType(Long adType) {
this.adType = adType;
}
@Override
public boolean equals(Object o) {
// TODO Auto-generated method stub
return false;
}
@Override
public int hashCode() {
// TODO Auto-generated method stub
return 0;
}
}
tianyc
2012-08-01
打赏
举报
回复
package com.ruanko.model.ad;
import java.io.Serializable;
import sun.nio.cs.HistoricallyNamedCharset;
import com.ruanko.model.BaseObject;
/**
*
* @author tianyucheng
* @hibernate.class
* table="AD_HOME"
*
*/
@SuppressWarnings({ "unchecked", "serial" })
public class AdHome extends BaseObject implements Serializable, Comparable<AdHome> {
/**
* 深色字
*/
public static Long AD_TYPE_DARK = Long.valueOf(2);
/**
* 浅色字
*/
public static Long AD_TYPE_LIGHT = Long.valueOf(1);
/**
* adhomeCacheName(缓存名称)
*/
public static String ADHOME_CACHENAME="AdHome";
/** identifier field */
private Long adId; //广告id
private String adContent; //广告内容
private String adContentEncoded; //广告内容辅助字段
private Long adOrder; //广告序号
private Long adType; //广告字体类型(1浅色 2.深色)
/**
* @hibernate.id generator-class="sequence" type="java.lang.Long" column="ad_id"
* @hibernate.generator-param name="sequence" value="seq_adhome"
*
*/
public Long getAdId() {
return adId;
}
public void setAdId(Long adId) {
this.adId = adId;
}
/**
* @hibernate.property column="ad_content" length="1000" not-null="true"
*
*/
public String getAdContent() {
return adContent;
}
public void setAdContent(String adContent) {
this.adContent = adContent;
}
/**
* @hibernate.property column="ad_order" length="10" not-null="false"
*
*/
public Long getAdOrder() {
return adOrder;
}
public void setAdOrder(Long adOrder) {
this.adOrder = adOrder;
}
/**
* @hibernate.property column="ad_type" length="2" not-null="false"
*
*/
public Long getAdType() {
return adType;
}
public void setAdType(Long adType) {
this.adType = adType;
}
@Override
public boolean equals(Object o) {
// TODO Auto-generated method stub
return false;
}
@Override
public int hashCode() {
// TODO Auto-generated method stub
return 0;
}
public int compareTo(AdHome o) {
if(this.getAdOrder() > o.getAdOrder()) {
return 1;
} else if(this.getAdOrder() < o.getAdOrder()) {
return -1;
}
return 0;
}
public String getAdContentEncoded() {
if(adContent != null) {
this.adContentEncoded = this.adContent;
this.adContentEncoded = this.adContentEncoded.replaceAll("'", "\\\\'");
this.adContentEncoded = this.adContentEncoded.replaceAll("\r", "");
this.adContentEncoded = this.adContentEncoded.replaceAll("\n", "");
}
return adContentEncoded;
}
public void setAdContentEncoded(String adContentEncoded) {
this.adContentEncoded = adContentEncoded;
}
}
daichangfu
2012-08-01
打赏
举报
回复
@Transient
可选
@Transient表示该属性并非一个到数据库表的字段的映射,ORM框架将忽略该属性.
如果一个属性并非数据库表的字段映射,就务必将其标示为@Transient,否则,ORM框架默认其注解为@Basic
示例:
//根据birth计算出age属性
@Transient
public int getAge() {
return getYear(new Date()) - getYear(birth);
}
BlueSky66666
2012-08-01
打赏
举报
回复
2楼方法可以解决
使用
hibernate
注解
,如何
标识
一个
属性
为
非
数据库
的
字段
使用
hibernate
注解
,如何
标识
一个
属性
非
数据库
的
字段
。 就是说
一个
实体类对应了一张表,但是这个实体类中有
一个
属性
不对应表中的
字段
忽略
非
数据库
字段
的
注解
忽略
非
数据库
字段
的
注解
mybatis-plus
使用
对象
属性
进行SQL操作,经常会出现对象
属性
非
表
字段
的情况,忽略映射
字段
时可以在实体类
属性
上
使用
以下
注解
: @TableField(exist = false):表示该
属性
不为
数据库
表
字段
@TableField(exist = true):表示该
属性
为
数据库
表
字段
。 @TableName:
数据库
表相关 @TableId:表主键
标识
@TableField:表
字段
标识
@TableLogic:表
字段
逻辑处理
注解
(逻辑删除)
Hibernate
实体类忽略
非
数据
mybatis
非
数据
字段
注解
@TableField(exist=false)
注解
@TableField(exist=false)
注解
加在bean
属性
上,表示当前
属性
不是
数据库
的
字段
/** * 天 */ @TableField(exist = false) private String days; /** * 金额 */ @TableField(exist = false) private double moneys; ...
表实体
字段
忽略
非
数据库
字段
的
注解
mybatis
使用
对象
属性
进行SQL操作,经常会出现对象
属性
非
表
字段
的情况,忽略映射
字段
时可以在实体类
属性
上
使用
以下
注解
: @TableField(exist=false):表示该
属性
不为
数据库
表
字段
@TableField(exist= true):表示该
属性
为
数据库
表
字段
。 @TableName:
数据库
表相关 @TableId:表主键
标识
@TableField:表
字段
标识
@TableLogic:表
字段
逻辑处理
注解
(逻辑删除)
Hibernate
实体类忽略
非
数据库
字段
注解
: ...
Hibernate
注解
实战详解
本文还有配套的精品资源,点击获取 简介:
Hibernate
是
一个
开源的对象关系映射(ORM)框架,
使用
注解
可以简化Java开发者与
数据库
的交互。文章将详细讲解
Hibernate
注解
的基本概念、主键
注解
、
数据库
表
注解
、
字段
注解
、关联
注解
以及
注解
配置的优点,并通过实例演示
注解
的
使用
,旨在帮助开发者提高
数据库
操作的效率和灵活性。 1.
Hibernate
注解
基础概念 ...
Java EE
67,535
社区成员
225,843
社区内容
发帖
与我相关
我的任务
Java EE
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
复制链接
扫一扫
分享
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章