hibernate这些注解的意思 @Entity @Id @GeneratedValue(strategy=GenerationType.UUID) @Column

如题所述

@Entity 表示当前为实体类
@Id 主键
@GeneratedValue(strategy=GenerationType.UUID) 主键生成策略。
@Column 映射字段的定义,包括映射的数据库表的字段名称。是否允许为空。字段长度等等定义。追问

话说不用像xml那样设置字段属性么?

追答

注解和xml两者选其一就行了。使用xml就不需要注解了。使用注解,就不需要xml了。
看你个人需要了。

追问

。。。我的意思是 注解不用设置属性么

。。。字段类型 如varchar2这些呢

追答

一般不是很长的字符串类型的。我都会使用String类型。

根据自己的需要写就行了。字段类型除了java的基本类型还有hibernate的类型。
也是根据自己的需要使用就可以了。这些跟注解没有关系。

追问

= =我可能问得不清楚。。。如果数据库表是text类型 那么怎么用注解来说明类属性映射的是数据库表的text类型?

追答

不需要说明。
根据你定义的类型判断。
例如 varchar 型 对应 string型。我定义实体的时候使用private String aaaa;就可以了
给你个对照表
Hibernate基本数据类型。(其中,boolean,yes_no和 true_false对应Java中的java.lang.Boolean)。
映射类型 Java类型 标准SQL字段类型
integer int or java.lang.Integer INTEGER
long long or java.lang.Long BIGINT
short short or java.lang.Short SMALLINT
float float or java.lang.Float FLOAT
double double or java.lang.Double DOUBLE
big_decimal java.math.BigDecimal NUMERIC
character java.lang.String CHAR(1)
string java.lang.String VARCHAR
byte byte or java.lang.Byte TINYINT
boolean boolean or java.lang.Boolean BIT
yes_no boolean or java.lang.Boolean CHAR(1('Y'or'N')
true_false boolean or java.lang.Boolean CHAR(1)('Y'or'N')
date java.util.Date or java.sql.Date DATE
time java.util.Date or java.sql.Time TIME
timestamp java.util.Date or java.sql.Timestamp TIMESTAMP
calendar java.util.Calendar TIMESTAMP
calendar_date java.util.Calendar DATE
大数据类型
binary byte[] VARBINARY(or BLOB)
text java.lang.String CLOB
serializable java.io.Serializable的任何实例 VARBINARY(or BLOB)
clob java.sql.Clob CLOB
blob java.sql.Blob BLOB
其它数据类型
class java.lang.Class VARCHAR
locale java.util.Locale VARCHAR
timezone java.util.TimeZone VARCHAR
currency java.util.Currency VARCHAR

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-05-22
当你想自动创建表的时候可以在相应的实体类和属性上加这些标注,
@Entity表示当前对象是一个实体类,
@id表示的是这个实体类的id,即主键,可以对id进行设置为自增等操作
@GeneratedValue(strategy=GenerationType.UUID)就是给id的设置
@column表示属性对应创建生成表时的字段

希望可以帮到你!你还可以参考hibernate API文档进行学习!