私はclaimDetailオブジェクトを保存した後にIDを取得してから、保存されたオブジェクトのIDを取得するために、直面している問題は0になります。実際に私はその保存されたオブジェクトIDを取得したいです。しかし、それは来ていません。私はJPAで動作しませんでした。私はスケジューリングのためにSpring Bootアプリケーションを作成しました。ここでJPAでDBに保存されたオブジェクトの後にIDを取得するには?
は私のClaimDetails.javaのエンティティクラスである:
@Entity
@Table(name = "claimtrans")
public class ClaimTrans {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
}
claimDetail.setActive(1);
claimDetail.setVersion(new Long(1));
claimDetail.setCreatedBy(new Long(1));
claimDetail.setCreatedDate(new Date());
claimDetailService.saveClaimDetail(claimDetail);
int temp =claimDetail.getID()
tempが0です。ここで
は私JpaRepositoryFactory.javaです:ここでは
@Service
public class ClaimDetailService {
private JpaRepositoryFactory jpaRepositoryFactory;
@Autowired
public ClaimDetailService(JpaRepositoryFactory jpaRepositoryFactory) {
this.jpaRepositoryFactory = jpaRepositoryFactory;
}
@Transactional
public void saveClaimDetail(ClaimDetail claimDetail) {
JpaRepository<ClaimDetail, Long> mailAuditLogLongJpaRepository = jpaRepositoryFactory.getRepository(ClaimDetail.class);
mailAuditLogLongJpaRepository.save(claimDetail);
}
public List<ClaimDetail> getAllClaimDetail() {
JpaRepository<ClaimDetail, Long> mailAuditLogLongJpaRepository = jpaRepositoryFactory.getRepository(ClaimDetail.class);
return mailAuditLogLongJpaRepository.findAll();
}
}
は私のJPA工場です。
@Component
public class JpaRepositoryFactory {
@PersistenceContext
private EntityManager entityManager;
public <T> T getRepository(Class clazz) {
notNull(clazz);
notNull(entityManager);
T crudRepository = (T) new SimpleJpaRepository(clazz, entityManager);
return crudRepository;
}
}
のpom.xml
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.3.5.RELEASE</version>
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<start-class>org.sam.application.Application</start-class>
<java.version>1.6</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.10</version>
</dependency>
誰もがこの問題を解決する方法を私を助けてくださいことができますか?
おかげ Sitansu
claimオブジェクトの投稿 – Deepanjan
@Deepanjan私の質問 – Sitansu
を更新しましたので、どのようなSQLが呼び出されましたか?別名「デバッグのステップ1」 –