トリガを使用して、Oracleデータベース内のテーブルのidカラムを自動的にインクリメントします。ここでOracle DatabaseからSpring MVCを介して自動インクリメントされたID(プライマリ・キー)を取得する
は私の春のコントローラ、返されたものを見るためにするSystem.out.printlnを使用すると、私はIDがリストされ見ることができませんどのように
@RequestMapping("/ssuForm/create")
@ResponseStatus(HttpStatus.OK)
@ResponseBody
public UmkeiBusinessInfo createSsuForm(@RequestBody UmkeiBusinessInfo umkeiSsu) {
UmkeiBusinessInfo createSsuForm = umkeiBusinessInfoService.create(umkeiSsu);
System.out.println(createSsuForm);
return createSsuForm;
}
内のコードです。他のすべてはしました。ここで
ログ、それはネクサス、ないIDで始まり
|Nexus|Wed Apr 13 00:00:00 SGT 2016|Nexus Street|NexusCity|04|null|80000|0108808550|[email protected]|1|A|2|P1|B10A218|Sun Apr 03 10:40:28 SGT 2016|null||B10A218|1|0145283459|[email protected]|9|A08|00751A|null|null|null|null|null
注意してください。内部コード/ビジネス/サービス/ IMPLここ
@Override
public UmkeiBusinessInfo save(UmkeiBusinessInfo umkeiBusinessInfo) {
return update(umkeiBusinessInfo) ;
}
@Override
public UmkeiBusinessInfo create(UmkeiBusinessInfo umkeiBusinessInfo) {
UmkeiBusinessInfoEntity umkeiBusinessInfoEntity = umkeiBusinessInfoJpaRepository.findOne(umkeiBusinessInfo.getUbiId());
if(umkeiBusinessInfoEntity != null) {
throw new IllegalStateException("already.exists");
}
umkeiBusinessInfoEntity = new UmkeiBusinessInfoEntity();
umkeiBusinessInfoServiceMapper.mapUmkeiBusinessInfoToUmkeiBusinessInfoEntity(umkeiBusinessInfo, umkeiBusinessInfoEntity);
UmkeiBusinessInfoEntity umkeiBusinessInfoEntitySaved = umkeiBusinessInfoJpaRepository.save(umkeiBusinessInfoEntity);
return umkeiBusinessInfoServiceMapper.mapUmkeiBusinessInfoEntityToUmkeiBusinessInfo(umkeiBusinessInfoEntitySaved);
}
@Override
public UmkeiBusinessInfo update(UmkeiBusinessInfo umkeiBusinessInfo) {
UmkeiBusinessInfoEntity umkeiBusinessInfoEntity = umkeiBusinessInfoJpaRepository.findOne(umkeiBusinessInfo.getUbiId());
umkeiBusinessInfoServiceMapper.mapUmkeiBusinessInfoToUmkeiBusinessInfoEntity(umkeiBusinessInfo, umkeiBusinessInfoEntity);
UmkeiBusinessInfoEntity umkeiBusinessInfoEntitySaved = umkeiBusinessInfoJpaRepository.save(umkeiBusinessInfoEntity);
return umkeiBusinessInfoServiceMapper.mapUmkeiBusinessInfoEntityToUmkeiBusinessInfo(umkeiBusinessInfoEntitySaved);
}
とは実体である
これはされています。以下は
は が![enter image description here](https://i.stack.imgur.com/Ti1Zg.png)
EDITは、私のテーブルがどのように見えるかの抜粋です部分、
//----------------------------------------------------------------------
// ENTITY PRIMARY KEY (BASED ON A SINGLE FIELD)
//----------------------------------------------------------------------
@NotNull
@Size(min = 1, max = 20)
private String ubiId;
//----------------------------------------------------------------------
// ENTITY DATA FIELDS
//----------------------------------------------------------------------
@Size(max = 100)
private String ubiName;
private Date ubiStartDate;
@Size(max = 100)
private String ubiAddress;
@Size(max = 64)
private String ubiCity;
@Size(max = 10)
private String ubiState;
@Size(max = 10)
private String ubiCountry;
ここではJPAエンティティ部分、
//----------------------------------------------------------------------
// ENTITY PRIMARY KEY (BASED ON A SINGLE FIELD)
//----------------------------------------------------------------------
@Id
@Column(name="UBI_ID", nullable=false, length=20)
private String ubiId ;
//----------------------------------------------------------------------
// ENTITY DATA FIELDS
//----------------------------------------------------------------------
@Column(name="UBI_NAME", length=100)
private String ubiName ;
@Temporal(TemporalType.TIMESTAMP)
@Column(name="UBI_START_DATE")
private Date ubiStartDate ;
@Column(name="UBI_ADDRESS", length=100)
private String ubiAddress ;
IDを増やしてネイティブシーケンサーを使用しないトリガーを使用する理由は何ですか? – pczeus
申し訳ありませんが、私はトリガーを有効にし、自動的にシーケンスをアクティブにします。私はトリガーを有効にした後に何もしなかった。 – Luqman
JPA – Bunti