[Seasar-user:13933] Re: [S2Dao] EntityとDtoで検索結果が違う

松崎 学 [E-MAIL ADDRESS DELETED]
2008年 4月 24日 (木) 21:11:24 JST


せとあずささん

松崎です。いつもお世話になっております。

DtoにマッピングするときだけASで別名を付けたり
Columnアノテーションが必要という事ですね。

# そもそもhoge_01という項目名でテーブルを設計している事が
# ダメなのでしょうか?
# camel形式的にはhoge01がよかったのですね。。。

> Entityの場合はEntityとtableのメタデータを比較するのに対し、
> Dtoの場合はEntityとResultSetのメタデータを比較するためですね。
Entityと同じマッピングになるように修正していただく事は無理でしょうか?
「そういう仕様です」と言われてしまえば何も言えないのですが、
使う側としては、同じ動きの方がわかりやすいなぁと思いまして。
理由があっての事であればあきらめます。

ご検討いただければありがたいです。

以上、よろしくお願い致します。

On Thu, 24 Apr 2008 20:54:40 +0900
SETO Azusa <[E-MAIL ADDRESS DELETED]> wrote:

> せとあずさです。
> 
> On Thu, 24 Apr 2008 20:24:26 +0900
> SETO Azusa <[E-MAIL ADDRESS DELETED]> wrote:
> 
> > DTOの該当するプロパティにColumnアノテーションをつけると
> > マッピングできるようになりませんかね?
> > # 試してませんが...
> 
> 試してみました。(H2です)
> ・DTO
> public class TestDto {
> 	private int hoge01;
> 	@Column("hoge_01")
> 	public int getHoge01() {
> 		return hoge01;
> 	}
> 	public void setHoge01(int hoge01) {
> 		this.hoge01 = hoge01;
> 	}
> }
> 
> ・Dao
> public interface TestDao {
> 
> 	@Sql("select 1 as hoge_01 from dual")
> 	public TestDto getTest();
> }
> 
> ・テストケース
> 	public void testGet() {
> 		assertEquals(1, testDao.getTest().getHoge01());
> 	}
> 
> で緑になりました。というわけで、DTOの該当プロパティに
> Columnアノテーションをつければいけますね。
> 
> 
> -- 
> せとあずさ
> [E-MAIL ADDRESS DELETED]
> http://www.fieldnotes.jp/d/
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user

--
松崎 学 <[E-MAIL ADDRESS DELETED]>



Seasar-user メーリングリストの案内