关于hibernate实体类

  给的数据库模型是sql2005的,然后在powerdesigner把数据库模型改成mysql的去建实体,建不上,貌似好多东西要改。

  要做以下几件事:

  1,加上uuid的东西,生成唯一id,类型是String,Java中实体类主键上加

  @GenericGenerator(name="systemUUID",strategy="uuid")
  @GeneratedValue(generator="systemUUID")

  有些用自增的感觉会比较好些。

  2,要把int类型改成integer,因为int的默认值是0,插入会有默认值。

  3,貌似hibernate直接生成的关系都是一对多的,一对一的忘记怎么弄了,还有多对多的还要建第三方表,明天要研究研究这个。

  4,每个表的递增流水号不知道是干什么的。

  其他:

[11-05 13:43:36] [RMI TCP Connection(3)-127.0.0.1] [ERROR][org.springframework.web.context.ContextLoader-331]-Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘sessionFactory‘ defined in class path resource [application-context.xml]: Invocation of init method failed; nested exception is org.hibernate.MappingException: Repeated column in mapping for entity: com.shinowit.entity.TMeStockInfo column: MerchandiseID (should be mapped with insert="false" update="false")

百度说是不同的属性映射为相同的字段,重复映射同一个字段,就会出现这个错误;

还没解决。

解决方法:
确实是不同的属性映射了相同的字段,比如之前有一个

private int roleId;

我又加了一个一对多的关系

private Role role;

并且Role里有roleId,这就重复映射了,在通过表建实体的时候不要勾选roleId就可以了。

时间: 2024-11-06 19:15:13

关于hibernate实体类的相关文章

Intellij idea生成Hibernate实体类

反向生成基于注解的Hibernate实体类 1. 为项目添加Hibernate支持 2. 在IDE右边找到database,然后按照步骤添加数据. 3. 保存后.在主面板左侧有persistence,在hibernate图标上点击右键-Generate Persistence Mapping-By Database Scheme. 4. 选好数据库,选好包的位置,在下面勾上要生成的表对应的pojo,添加到sessionFactory,并且勾上为每一个pojo生成XML即可.

eclipse从数据库逆向生成Hibernate实体类(eclipse中反向生成hibernate实体类+jpa注释)

eclipse从数据库逆向生成Hibernate实体类 做项目必然要先进行数据库表设计,然后根据数据库设计建立实体类(VO),这是理所当然的,但是到公司里做项目后,让我认识到,没有说既进行完数据库设计后还要再"自己"建立一变VO.意思是,在项目设计时,要么根据需求分析建立实体类,由正向生成数据库表:要么就先进行数据库表设计,再逆向生成实体类.没有说进行完任意一方的设计后再去花时间去自己匹配建立另一方的设计. 原因是: 1. 1.5倍工作量,浪费时间.(时间对公司来说很重要) 2. 无法

spring+hibernate实体类注解详解(非原创) + cascade属性取值

@Entity //继承策略.另一个类继承本类,那么本类里的属性应用到另一个类中 @Inheritance(strategy = InheritanceType.JOINED ) @Table(name="INFOM_TESTRESULT") public class TestResult extends IdEntity{} 1 @Entity(name="EntityName") 必须 name为可选,对应数据库中一的个表 2 @Table(name="

[转]eclipse借助hibernate tool从数据库逆向生成Hibernate实体类

如何从数据库逆向生成Hibernate实体类呢??? 1. 首先,要在eclipse中采用自带的数据库管理器(Data Management),连通你的数据库: 然后选择数据库,这里用的oracle,然后给个名字,如MyOracle. 点击下图中按钮,新建一个数据库驱动的配置. 选择数据库版本,这里是oracle 10g版本,可以为该配置另起个名字. 然后选择相应数据库版本的jar包. 下面就是依据自身情况填写数据库连接配置了. 接下来,完善Properties下的General选项卡内容,同样

MyEclipse从数据库逆向生成Hibernate实体类

这个分为二个操作:数据库操作和MyEclipse操作 关系映射有:单双向1-n.n-1.n-n. 映射关系多由数据库里的表关系决定 当然也可以只对一个表进行操作 单双向1-n.n-1由二个表 单双向n-n由三个表,其中第三个表连接另外二个表 以下是创建n-n    MyEclipse从数据库逆向生成Hibernate实体类: 数据库操作: 创建表:Person_inf address_inf person_address 其中的关系是:person_address创建外键 需要注意的是perso

【转】Eclipse从数据库逆向生成Hibernate实体类

原文地址:http://blog.csdn.net/wangpeng047/article/details/6877720 做项目必然要先进行数据库表设计,然后根据数据库设计建立实体类(VO),这是理所当然的,但是到公司里做项目后,让我认识到,没有说既进行完数据库设计后还要再"自己"建立一变VO.意思是,在项目设计时,要么根据需求分析建立实体类,由正向生成数据库表:要么就先进行数据库表设计,再逆向生成实体类.没有说进行完任意一方的设计后再去花时间去自己匹配建立另一方的设计. 原因是:

修改Hibernate实体类字段int为Integer产生java.lang.NoSuchMethodError

问题描述: 在将Hibernate实体类字段int为Integer产生java.lang.NoSuchMethodError,但是明明是有这个方法的,但是一直说没有这个方法.后经仔细对比字节码文件,发现jdk在编译字节码时,会对相关方法进行处理. 详细编译情况如下: 原始代码: net.setPushstatus(Integer.parseInt(pushstatus)); 实体类属性字段类型为int 时编译的代码: net.setPushstatus(Integer.parseInt(push

Hibernate - 实体类配置

配置文件 <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <!--      Mapp

Hibernate 实体类注解

Hibernate注解 1.@Entity(name="EntityName") 必须,name为可选,对应数据库中一的个表 2.@Table(name="",catalog="",schema="") 可选,通常和@Entity配合使用,只能标注在实体的class定义处,表示实体对应的数据库表的信息 name:可选,表示表的名称.默认地,表名和实体名称一致,只有在不一致的情况下才需要指定表名 catalog:可选,表示Cat