mysql - Spring data JPA 只有一个组合键自动递增

标签 mysql hibernate spring-boot spring-data spring-data-jpa

我正在使用 MySQL 数据库。

我的表是一个员工表,其中有两个主键,其中一个是自动递增的。

我的代码是:

@Embeddable
    public class EmployeeId implements Serializable {
        /**
         * 
         */
        private static final long serialVersionUID = 1L;
        @Column(name = "id", nullable = false)// this i want to increment 
        private int id;
        // I have  tried and @GeneratedValue(strategy = GenerationType.IDENTITY),
        //@GeneratedValue(strategy = GenerationType.IDENTITY) 
        //and @GeneratedValue(strategy = GenerationType.TABLE)
        //@GeneratedValue(strategy = GenerationType.AUTO, generator = "id") @SequenceGenerator(name = "id", sequenceName = "id")

        @Column(name = "gender_key", nullable = false)
        private id gender_key;

        }



        @Entity
        @Table(name = "employee")
        public class employee {
        @EmbeddedId
        private EmployeeId employeeId;

        private String emp_name;
        private String mobile_no;

        employee() {
        }}



        public interface employeeRepository extends
            JpaRepository<employee, EmployeeId> {
        }

在我的 Controller 中,我想要 id after employeeRepository.save(bean);方法,因为我想将该 ID 保存在不同的表中。

logger.info("id is ---> "+id);

但是我得到的 id 值总是 0。

如何获取插入到MySQL表中的id的增量值?

请帮助。

提前致谢。

最佳答案

您是要从原始对象还是从 save 方法返回的对象中获取值?假设您有以下代码:

employeeRepository.save(bean)
int id = bean.getId();
logger.info("id is --- > "+id);

这确实会返回零,因为您的对象没有此信息。如果您想获取在数据库上生成的值,您必须执行以下操作:

bean = employeeRepository.save(bean)
int id = bean.getId();
logger.info("id is --- > "+id);

关于mysql - Spring data JPA 只有一个组合键自动递增,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46254226/

相关文章:

java - 在JpaRepository接口(interface)中设置@query(子查询)

mysql - 从 FROM_UNIXTIME 转换负值

php - MySQL 在范围之间进行分组

java - java应用程序连接数据库的方式

java - 如何使用 hibernate 基于位掩码值获取记录?

java - 在部署 AWS Lambda 时设置 bean 属性 'mongoTemplate' 时无法解析对 bean 'mongoOperations' 的引用

java - 测试期间的 Spring Boot JPA 事务 - 在插入时不抛出关键违规异常

java - 什么时候应该使用@Component 而不是@Service?

mysql 查询 - 如何查找一对的部分是否有共同特征

php - MySQL 递归获取正确的节点 PHP