嗨,我编写了这样的代码
@Id @Column(nullable=false) @GeneratedValue(strategy=GenerationType.AUTO) public int getUserID() { return UserID; }
但是我从DAO手动设置了它,例如“ e.setUserID(01);”。否则将不插入行是否有任何过程来获取ID值并检索自动生成的值。我想我会得到一些帮助
采用
@GenericGenerator(name="generator", strategy="increment")
@GeneratedValue(generator="generator")
问题内容: 任何人都知道一些有关如何为hibernate创建自定义ID生成器的好教程吗? 问题答案: 在Google上粗略搜索“hibernate自定义ID生成器教程”,发现了以下可能性。我排除了那些看起来没有用的内容,并总结了它们的内容。 http://www.devx.com/Java/Article/30396-涵盖了在数据保留之前生成ID(因此还没有业务密钥)的问题。 http://doc
问题内容: 我有一张带有自动增加的ID(每天刷新)的复合主键的表,并传递值。我正在将Hibernate用于数据库进程。我可以知道保存后如何立即检索自动增加的ID值吗?我试图获取ID,但是自动增加ID却没有显示任何价值。 码: 我尝试在保存如下表后获取ID值TableAPK id = dao.persist(session,entity); 或保存后添加刷新和刷新 但是我仍然无法检索tableAId
问题内容: 我的实体如下。我的数据模型在下面强制执行,因此我无法更改引用的完整性。因此,我陷入了复合键的困境。我想自动生成/使用一些生成器作为orderId 是的,我已经阅读以下内容。 http://docs.jboss.org/hibernate/annotations/3.5/reference/en/html_single/#entity- mapping- identifier 我不想管理
问题内容: 尝试将Hibernate与SAP HANA内存数据库连接时遇到一些性能问题,该数据库不支持AUTO_INCREMENT(http://scn.sap.com/thread/3238906)。 因此,我将Hibernate设置为使用序列进行ID生成。 但是,当我插入大量记录(例如40000)时,Hibernate首先会生成ID。看起来像: 并且只有在生成所有ID之后,它才开始实际插入。
问题内容: hibernate如何生成外键约束名称? 如果我没有定义名称,hibernate将生成类似这样的内容 这个名字是怎么产生的?也许来自字段名称的哈希值或类似的东西?我需要知道所有实例上的名称是否相等。 问题答案: Hibernate通过串联表和属性名称来生成约束名称,并将结果转换为。由于某些数据库中的约束名称长度限制,因此需要它。例如,在Oracle数据库中,外键名称的长度不能超过30个
问题内容: 我有这部分的hibernate映射xml文件,我一直在寻找原生含义的好例子。 我知道这与唯一标识符属性有关,但是我真的很想举个例子。 对不起,对于新手问题,我是新来的休眠和一般编程:)谢谢! 问题答案: 本机意味着您的生成器将根据您当前的数据库支持使用身份或序列列。 Docs在这里解释了每种策略 http://docs.jboss.org/hibernate/orm/3.3/refer