在Hibernate中,如果保存后未设置自动生成的ID,可以通过以下几种方法解决:
@Entity
@Table(name = "your_table")
public class YourEntity {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
// 其他属性和方法
}
YourEntity entity = new YourEntity();
// 设置其他属性
Long id = (Long) session.save(entity);
YourEntity entity = new YourEntity();
// 设置其他属性
session.persist(entity);
session.flush(); // 执行SQL语句
Long id = entity.getId();
YourEntity entity = new YourEntity();
// 设置其他属性
YourEntity mergedEntity = (YourEntity) session.merge(entity);
Long id = mergedEntity.getId();
以上是一些常见的解决方法,根据具体的业务需求和代码实现可以选择合适的方法。