我有一个包含auto_increment字段“autoValue”的表,它不是主键或其中的一部分。
public class MyClass {
@Id
private String id;
@GeneratedValue(strategy=GenerationType.AUTO)
@Column
private Integer autoValue;
....
}
当我保存对象(方法save())时,行被插入数据库并成功完成auto_increment。但是,如果我尝试获取autoValue的值,我会得到Null值。
MyClass obj = new MyClass();
obj.setId("newStringId");
session.save(obj);
obj.getAutoValue();// <= this returns null
有人可以告诉问题在哪里以及如何处理以检索autoValue的值。
答案 0 :(得分:0)
您可以尝试刷新Hibernate会话以将对象与数据库的新状态同步,这应该反映自动生成的值。
<td class="response" style="width: 25%;">
<a href="Your url">
<img class="img-responsive" style="max-width: 40%;" src="uploads/
<?php echo $client_images['image']; ?>" alt="" />
</a>
来自Hibernate documentation:
可以使用refresh()方法随时重新加载对象及其所有集合。当数据库触发器用于初始化对象的某些属性时,这很有用。