seam-gen で既存のDBからコードを起こす場合に、DBで今までふられていたId等の処理の対応が問題になります。 Hibernate のマニュアルやら、Annotationのマニュアルやら読みながら、「どうしたら良いのか」いろいろいじってみました。
@Entityの@Idには@GeneratedValueを使うみたいです。 マニュアルから、@Generatedが使えるのかと思っていましたが、NPEが出ます。
PostgreSQLの場合下のような感じです。 (PostgreSQLのserialをDBでは使っていますので、sequenceにすると冗長な処理 select nextval('??')が発生していますが、やむを得ません。)
また、これで入力画面(デフォルトで出来た物なのでIdの入力欄が有る)でIdを指定するとエラーになります。 また、ブランク(NULL)だとエラーが出ます。 デフォルトで0が表示されていますが、この状態で、他の項目を入力すると、ちゃんと続き番号を取ってきて入れてくれています。
Idをふるケースはこれで良いのですが、triggerを使ってtimestampしている所は、どうしたら良いのか、また少し実験してみることにします。
入力は日本語で出来るのですが、searchの所に日本語入れると化けるので、これも原因を調べて直さなければなりません。
seam は楽しい(楽)けど、ちゃんと思い通りに使えるようになるのにはもう少々お時間が掛かりそう、、、、
/**
* Users generated by hbm2java
*/
@Entity
@Table(name = "users", schema = "public")
public class Users implements java.io.Serializable {
@Id
@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="SEQ_GEN")
@SequenceGenerator(name="SEQ_GEN",sequenceName="users_id_seq", allocationSize=1)
^^^^^^^^^
ここに、serial で作られたsequeceの名前を入れる
@Column(name = "id", unique = true, nullable = false, insertable=false, updatable=false)
@NotNull
private int id;
@Column(name = "name", nullable = false)
@NotNull
private String name;
@Column(name = "address", nullable = false)
@NotNull
private String address;
: : : :
(getter/setter が続く)
登録:
コメントの投稿 (Atom)
PCをWindows11にアップグレード(ハードもRyzen9 9900x+4070TiSに)
remBG(背景を消すPysonのユーティリティ)を弄っていたら、記事に書かれているのと比べてやたらスピードが遅いので、購入履歴を調べてみると、3~4年経ってしまっている。 ここは、奮起して、Ryzen9 9900x+Asus Prime X870-P WIFI-CSM +As...
-
銅パイプを使ったバリコンを制作してきましたが、間に噛ます誘電体の信頼性から、PTFE位しかなく、大きさが小さくならない、重量もそれなり、可動部が片側の端子となる(駆動距離分の配線処理)等から、4~5KV程度の耐圧の150pF位が自作の限界で、制作コストも安くなく、ジャンクの真空バ...
-
FT8でのDXが結構普及してきて、信号強度の交換は自動でやってくれるので、-XXdBというのをあまり気にしていない人も居るかと思いますが、やはりー(マイナス)って付くと気になります。 また、コンディションを予測する場合、どの位の信号レベルであればCWでの交信も可能かの判断の材料...
-
全長24mのデルタループとSCG-235の組み合わせは、それなりに活躍してくれて、4月からの6カ月で、それでも180カントリー位貢献してくれましたが、やはり指向性アンテナで無いと受信はかなり苦しいので、隣家の上空侵犯をしないサイズのアンテナを色々探して、最終的にHex Bea...
0 件のコメント:
コメントを投稿