AnsweringYourQuestions
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
|&color(#992200){2005/07/17 しつもんこーなーを凍結します...
|それまでは ML をご利用ください。|
#contents
* しつもんこーなー [#r1089fef]
** ここのページの意味 [#y9092cf2]
-seasarを使用する上での疑問、質問に答えるコーナー。~
Wikiに質問コーナーを開設しました。~
Seasarを使っていて困ったことや質問を募集しています。~
過去に困ったこととその解決策も募集しています。~
チームで使っていて初心者がよく躓くような内容ほしいです。~
将来的には編集してFAQ作成を目指してます。ご協力お願いしま...
回答の内容はリンクでも可です。~
* つまづいたことや困ったこと [#cac3f1f4]
// #article
**S2DaoのDB接続先の切り替えについて [#ua37ebb1]
>[[gami]] (2005-07-07 19:13:39 (木))~
~
S2Daoを使用し、条件によってDBの接続先を変えることは出来る...
~
やりたい事~
~
パラメータとしてdriverClassName、URL、user、passwordが~
渡って来た場合は、この値を使ってDBに接続する。~
パラメータで値が渡って来なかった場合は、~
j2ee.diconの値でDBに接続する。~
~
以上、宜しくお願いいたします。~
//
-これはできません。ちょっと違いますが、複数の DataSource ...
-出来ないのですか、残念ですが諦めることにします。ありがと...
// #comment
**S2DAOでPKの無いテーブルのSelect [#y01ec549]
>[[gami]] (2005-07-07 18:59:14 (木))~
~
S2DAOでselect文を自動生成させ、~
プライマリーキーの無いテーブルで実行したところ~
PrimaryKeyNotFoundRuntimeExceptionが発生してしまいます。~
~
これは仕様なのでしょうか?~
select文なのでプライマリーキーは関係ないような気もするの...
~
回避方法等があれば教えてください。~
宜しくお願いします。~
~
-------------------------------------------------------~
org.seasar.dao.PrimaryKeyNotFoundRuntimeException: [EDAO0...
at org.seasar.dao.impl.AbstractAutoStaticCommand.checkPr...
at org.seasar.dao.impl.AbstractAutoStaticCommand.setupUp...
at org.seasar.dao.impl.UpdateAutoStaticCommand.setupSql(...
at org.seasar.dao.impl.AbstractAutoStaticCommand.<init>(...
at org.seasar.dao.impl.UpdateAutoStaticCommand.<init>(Up...
at org.seasar.dao.impl.DaoMetaDataImpl.setupUpdateMethod...
at org.seasar.dao.impl.DaoMetaDataImpl.setupMethodByAuto...
at org.seasar.dao.impl.DaoMetaDataImpl.setupMethod(DaoMe...
at org.seasar.dao.impl.DaoMetaDataImpl.setupSqlCommand(D...
at org.seasar.dao.impl.DaoMetaDataImpl.<init>(DaoMetaDat...
at org.seasar.dao.impl.DaoMetaDataFactoryImpl.getDaoMeta...
at org.seasar.dao.interceptors.S2DaoInterceptor.invoke(S...
//
-検索ではプライマリキーを見ないように1.0.14でなっているは...
-S2Daoのバージョンは1.0.26を使用しています。メソッド名はs...
-ソースはS2DaoMakerをつかって自動生成させているのですが、...
-S2Daoのサンプル (HSQLDB) でも発生することを確認しました...
-MLに投げました。大変申し訳ありませんが、以後はML(または...
-再現したというのは勘違いでした。Dao の interface に inse...
// #comment
**S2Daoでテーブルの切替 [#n4635c3d]
>[[rerun]] (2005-07-05 19:52:11 (火))~
~
S2Daoで条件によってTBLを切替える事は可能でしょうか。~
~
やりたい事を簡単に説明しますと、~
-レイアウトは全く同じで、日付レンジのみ異なるテーブルが3...
-パフォーマンス上の理由でテーブルは当月データ、前月データ...
-画面から条件指定で対象月を選択して、これらのテーブルから...
~
上記のような事を実現させたい場合、Bean、Daoインタフェース...
//
-できることはできます。スマートかどうかはさておき (^^;
SELECT * FROM
/*IF deptno <= 10*/DEPT/*END*/
/*IF 10 < deptno && deptno <= 20*/DEP2/*END*/
WHERE deptno = /*deptno*/
深く検証までしていませんけど、1.0.23で動作は確認しました...
-あ、このままだと2WaySQLになっていませんので、素のSQL文と...
// #comment
**S2JSFで同一画面遷移時の初期化禁止 [#g02c8754]
>[[rmiya]] (2005-07-03 02:04:34 (日))~
~
S2JSF 1.0.3でgoogleのような検索画面(同一画面に検索結果を...
~
検索画面にページの初期処理(検索結果を格納している~
DTOをクリアしている)を追加した状態で~
検索処理を実行すると、~
検索処理→初期処理の順番で処理が実行され、~
検索結果がクリアされてしまいます。~
~
同一画面に遷移時に、初期処理を実行しない方法はありません...
//
-初期処理が必要かどうかの判定を入れてください。検索条件と...
-初期処理が必要かどうかの判定を入れることにしました。あり...
// #comment
**SingletonS2ContainerFactoryのinit [#n2a2c37c]
>[[nemo]] (2005-06-23 17:50:57 (木))~
~
WebアプリケーションでS2コンテナを取得するためにSingletonS...
S2コンテナを取得する際にinitメソッドの呼びだしが行われて...
取得後にinitメソッドを呼び出す記述の必要はありますか?~
//
-S2ContainerServletを使っている場合、S2ContainerServletの...
// #comment
**PukiWikiの対策を行ってください [#u88b9ed3]
>[[( ´∀`)つ]] (2005-06-01 21:49:07 (水))~
~
余裕があればマイナーアップデートも。~
http://pukiwiki.org/index.php?PukiWiki%2FErrata~
[[PukiWiki1.4.5_1>http://pukiwiki.org/index.php?PukiWiki%...
//
-ありがとうございます。実は「ここでは脅威にはならない」と...
// #comment
**S2Daoで1テーブル対Nエンティティ [#nf5a88e9]
>[[SAL]] (2005-05-31 17:30:52 (火))~
~
S2Daoで1つのテーブルを複数のBean(エンティティ)に対応付...
~
例えば~
~
Personクラス{~
String code;
String name;
Order order;
}~
~
Orderクラス{~
String orderno;~
String item;
}~
~
ORDERテーブル(~
CODE~
NAME
ORDERNO
ITEM
)~
~
以上のような構成のとき、PersonDaoでgetAllPersons()をする...
~
実現可能かも含め、ご指導下さい。~
//
-可能といえば可能です.&br;
1:1 関連にある Person と Order が「たまたま」同じテーブル...
public class Person {
public static final String TABLE = "ORDER";
String code;
String name;
Order order;
・・・
}
public class Order {
String code;
String item;
}
public interface PersonDao {
public static final Class BEAN = Person;
Person getPerson(String code);
}
-このようなマッピングをしたくなるということは,適切に正規...
それができないからこのような質問になるのでしょうけど.(...
-ありがとうございます。上記の方法ではこちらのしたい事(一...
-できませんでした? と思ってよく見たら,Person に public ...
// #comment
**S2DaoでのSQLヒント文 [#y3dfad03]
>[[tetsu]] (2005-05-24 15:50:05 (火))~
~
S2DaoでSQLチューニングとしてヒント文(/*+ ヒント [ヒント] ...
~
SQL自動生成では対応できないと思いますが、SQLを外部から指...
~
AbstractDaoの実装は工数がかかりますので、外部SQLを利用す...
//
-Oracle なら「/*+ ヒント[ヒント] */」ではなく「--+ ヒント...
-すいません。まず誤りがありました。(誤)AbstractDao?の実装...
-ご指摘どおり「--+ ヒント [ヒント]」を利用して、外部SQLで...
// #comment
**s2strutsでファイルアップロード [#k7121a6b]
> (2005-05-08 02:28:41 (日))~
~
s2strutsでPOJOなFormBeanを使用してFormFileを扱うにはどう...
//
-Strutsを使うのと同じようにしてください。フォームクラスの...
// #comment
**ステートフルを無効にしたい [#vb97ba07]
>[[Flash]] (2005-04-29 00:16:56 (金))~
~
S2OpenAMFなのですが、~
実験のため、StateFull と StateLessの違いを示したいのです...
pojoでjava.io.Serializableを実装したときだけ、StateFullに...
それ以外はStateLessになるようにするには、どのようにすれば...
~
デフォルトでは、すべてStateFullになってしまうようなのです...
ご存知の方、教えていただければ幸いです、。~
//
-S2でコンポーネントを管理した場合は、componentタグのinsta...
-ありがとうございました。しかしinstance属性をprototypeに...
// #comment
**S2Daoで全件削除 [#k7077187]
> (2005-04-18 18:09:53 (月))~
~
Daoインターフェイスに全件削除メソッドを定義しようと思い以...
~
static String doDeleteAll_QUERY = "delete from EMPLOYEE";
void doDeleteAll();
~
解決策をお教えいただけないでしょうか。~
//
-メソッドの接頭辞を"delete"にし、アノテーションでなくSQL...
-全件削除なら TRUNCATE もあります。一般的にこちらのほうが...
// #comment
**Action内の独自クラスにAOP可能? [#k46bc6a1]
> (2005-04-11 19:26:06 (月))~
~
S2の導入を考えているのですが、S2Struts を使用し、Action内...
//
-対象のクラスがdiconファイルに記述されていて、Containerか...
-おー!さっそく試してみます。 -- &new{2005-04-12 18:06:2...
// #comment
**s2struts *.do→*.doの遷移 [#je5abca9]
> (2005-04-08 09:03:27 (金))~
~
環境:~
・Windows 2000 sp4~
・j2se 1.4.2~
・Tomcat 4.1.30~
・Struts 1.2.4~
・Seasar 2.2.6~
・S2Struts 1.1.5~
で開発しているのですが、ActionをPOJOにして、forward先を別...
struts-config.xmlのvalidate属性をtrueにして、input属性がP...
とりあえずその部分だけ、StrutsのActionを継承させれば回避...
他の環境では試してないのですが、不具合でしょうか?~
//
-実際に動作させてみますので、回答まで少しお待ちください。...
-実際に動作させましたが、自動バインディングはされました。...
// #comment
**S2DAO1.0.24埋め込み変数コメント [#a5eef00c]
> (2005-04-01 20:29:06 (金))~
~
SQLファイルで文字列カラムのWhere句を~
wehre ename = /*$dto.ename*/
とした場合、以下のように変数が埋め込まれ~
wehre ename = FORD
シングルコーテーションで文字列が囲まれていなく、エラーと...
~
回避方法を教えてください
//
-シングルクォートで囲んでほしいなら$は要らないですよ。 --...
-回答ありがとうございます。初歩的すぎる質問ですみませんで...
// #comment
**s2struts1.1.4でSwitchAction [#v985df54]
> (2005-03-29 17:36:54 (火))~
~
s2struts1.1.4でSwitchActionをした後~
遷移した先のモジュールのActionを実行すると~
「処理のためのパスが含まれて居ません」~
と出て全てのリクエストが通らなくなります。~
なにか特別な設定が必要なのでしょうか?~
#s2struts無しの場合正常に動いているアプリケーションです~
#s2strutsの設定はドキュメントの通り設定していて、Switch...
-s2struts.diconに記述しているRequestProcessorのinstance属...
-上記設定でうまくいきました! ありがとうございます。 -...
// #comment
**S2DaoでのSQLファイルのエンコーディング [#b3354ce3]
>[[HM]] (2005-03-04 18:14:15 (金))~
~
S2DaoにてUTF-8でSQLファイルを記述しようと思ったのですが、~
エンコーディング指定方法がありません。~
ソースからは~
DaoMetaDataImpl#setUpMethod~
TextUtil.readText
InputStreamRaderUtil.create
InputStreamRaderUtil.create
new InputStramRead( InputStream, "JisAutoDetect")
で、JIS系列の場合は大抵大丈夫なのでしょうが、I18n~
を思うとこの固定値は変更可能であった方が良いと思い~
ます。~
//
-考えてみます。 -- [[ひが]] &new{2005-03-06 15:13:12 (日)};
// #comment
**64bit環境下での動作保障について [#p61f1c91]
>[[もっともっと]] (2005-03-03 16:07:04 (木))~
~
ハードウェアはSolaris SPARC OS(64bit)で、APサーバにOracle...
開発予定です。~
上記環境下でS2は動作するのでしょうか?~
//
-LinuxのOracle10gでは動いているので、たぶん大丈夫でしょう...
// #comment
**daoについて [#edda20ac]
>[[9]] (2005-02-16 11:20:09 (水))~
~
mysqlをwindowsにインストールして~
実行して動いていたdaoが~
Linuxにインストールした際には動かず~
下記のようにテーブルが見つからないというエラーが返却され...
~
ESSR0071]SQLで例外が発生しました。理由はjava.sql.SQLExce...
message from server: "Table 'SN13.tbhz021' doesn't exist"~
at org.seasar.framework.util.DatabaseMetaDataUtil...
(DatabaseMetaDataUtil.java:42)
at org.seasar.dao.impl.BeanMetaDataImpl.setupData...
(BeanMetaDataImpl.java:230)
at org.seasar.dao.impl.BeanMetaDataImpl.<init>(Be...
at org.seasar.dao.impl.DaoMetaDataImpl.<init>(Dao...
at org.seasar.dao.impl.DaoMetaDataFactoryImpl.get...
(DaoMetaDataFactoryImpl.java:41)
at org.seasar.dao.interceptors.S2DaoInterceptor.i...
(S2DaoInterceptor.java:35)
at org.seasar.framework.aop.impl.MethodInvocation...
(MethodInvocationImpl.java:60)
at org.seasar.framework.aop.proxy.AopProxy.interc...
at model.dao.sdao.daohz021.Daohz021
$$EnhancerByCGLIB$$ee4442c4.selectCountByC...
~
大文字と小文字の区別によるエラーだと思いましたが~
DBのテーブル名もDAOで記載してあるDB名どちらとも大文字で書...
~
小文字でsqlが発行されているのではないかと思ったのですが、~
そのような仕様だったりするのでしょうか?~
dbのインストールミスかもしれませんが上記についてご指導お...
//
-すみません、以下のことについて教えてください。
--「インストール」とは、MySQL のことでしょうか。アプリ (D...
それとも両方でしょうか。
--Seasar2, S2Dao のバージョンはそれぞれいくつでしょうか。~
環境の問題だと、回答が遅くなるかもしれません。 -- [[suga]...
-大文字と小文字の区別だとすると、Bean の TABLE アノテーシ...
-バージョンですがdaoはs2-dao-1.0.10.jarでsearsorは2.0.20...
-TABLEアノテーションが小文字(先頭のみが大文字)だったの...
-どうやらテーブルの作成方法によって SQL に影響するようで...
-いろいろ、ご迷惑おかけしてすみません。自分で調べていきた...
// #comment
**同じ現象です(S2DAOのID自動生成機能について) [#zad3c0fa]
>[[いまだ]] (2005-02-08 15:25:53 (火))~
~
s2-dao-1.0.18を使用しています。~
identityを使ったIDの自動生成で、自動生成された値がBeanに...
~
DBはHSQLDBです。~
~
・テーブルクリエイト文は以下のとおりです。~
create table HOGE (
ID INTEGER NOT NULL IDENTITY,
NAME varchar(10),
PRIMARY KEY (ID)
);
~
・JavaBeansは以下のとおりです。~
(検証の為に、idの初期値をわざと-1にしています。)~
~
package examples.dao;
import java.io.Serializable;
public class Hoge implements Serializable {
public static final String TABLE = "hoge";
public static final String id_ID = "identity";
private int id = -1;
private String name;
public Hoge() {
}
/**
* @return id を戻します。
*/
public int getId() {
return id;
}
/**
* @param id id を設定。
*/
public void setId(int id) {
this.id = id;
}
/**
* @return name を戻します。
*/
public String getName() {
return name;
}
/**
* @param name name を設定。
*/
public void setName(String name) {
this.name = name;
}
}
~
・daoは以下のとおりです。~
package examples.dao;
public interface HogeDao {
public Class BEAN = Hoge.class;
public void insert(Hoge hoge);
}
~
・diconファイルは以下のとおりです。~
<?xml version="1.0" encoding="Shift_JIS"?>
<!DOCTYPE components PUBLIC "-//SEASAR//DTD S2Container/...
"http://www.seasar.org/dtd/components.dtd">
<components>
<include path="dao.dicon"/>
<component class="examples.dao.HogeDao">
<aspect>dao.interceptor</aspect>
</component>
</components>
・テスト用クラスは以下のとおりです。~
package examples.dao;
import org.seasar.framework.container.S2Container;
import org.seasar.framework.container.factory.S2Containe...
public class HogeDaoClient {
private static final String PATH = "examples/dao/Hog...
public static void main(String[] args) {
S2Container container = S2ContainerFactory.creat...
container.init();
try {
HogeDao dao = (HogeDao) container
.getComponent(HogeDao.class);
Hoge hoge = new Hoge();
hoge.setName("foo");
System.out.println("before insert id:" + hog...
dao.insert(hoge);
System.out.println("after insert id:" + hoge...
} finally {
container.destroy();
}
}
}
~
~
・実行結果は以下のようになります。~
~
before insert id:-1
DEBUG 2005-02-08 15:13:08,405 [main] 物理的なコネクショ...
DEBUG 2005-02-08 15:13:08,415 [main] 論理的なコネクショ...
DEBUG 2005-02-08 15:13:09,336 [main] 論理的なコネクショ...
DEBUG 2005-02-08 15:13:09,366 [main] 論理的なコネクショ...
DEBUG 2005-02-08 15:13:09,376 [main] INSERT INTO hoge (n...
DEBUG 2005-02-08 15:13:09,426 [main] CALL IDENTITY()
DEBUG 2005-02-08 15:13:09,436 [main] 物理的なコネクショ...
DEBUG 2005-02-08 15:13:09,436 [main] 論理的なコネクショ...
DEBUG 2005-02-08 15:13:09,476 [main] 論理的なコネクショ...
DEBUG 2005-02-08 15:13:09,476 [main] 論理的なコネクショ...
after insert id:0
DEBUG 2005-02-08 15:13:09,486 [main] 物理的なコネクショ...
DEBUG 2005-02-08 15:13:09,486 [main] 物理的なコネクショ...
テーブルのIDカラムには正しくセットされていますが、~
何度実行しても、~
after insert id:0~
となってしまい、自動生成されたid番号が取得できません。~
~
なお、~
SEQUENCEを使ったID自動生成では、うまくidを取得できました。~
~
-1から0に変わっているので、
何かしらセットされているのだと思いますが、うまくいかない...
//
-トランザクションを使ってないせい(insertで割り当てられたi...
-トランザクションを使うようにしたらうまくいきました。あり...
// #comment
**S2DAOのID自動生成機能について [#y0c5f00d]
>[[ko-chan]] (2005-02-08 11:10:26 (火))~
~
ドキュメンテーションの通りにやっているのですが、ID自動生...
ドキュメンテーションの設定以外にも設定が必要なのでしょう...
~
ドキュメントの設定→『public static final String id_ID = "...
//
-上記の解答のとおり、トランザクションを使っているか確認し...
// #comment
**selectのDAOについて [#t1711644]
>[[9]] (2005-01-21 (金) 09:28:41)~
~
char項目をselectのDAOで取得する際、~
実際にDBに入っているデータより多くスペース~
がついています。(データが2バイト文字の場合)~
4桁のcharの項目に1文字(2バイト文字)のデータが入っている...
取得されるデータは3つのスペースが付加されます。~
2バイト文字がフル桁ではいっている場合もスペースが付加さ...
対応策はないのでしょうか?~
//
-char 型は固定長の文字列を保存するための型なので,データ...
-4桁のchar項目に1バイト文字を1 -- [[9]] &new{2005-01-21 ...
-説明不足だったかも知れませんが、4桁のchar項目に2バイト...
-下と同じであれば、RDBMS は Oracle と考えてよろしいでしょ...
-そういえば Oracle の JDBC ドライバがへぼいために,char ...
-えと,trim() は Java の String#trim() です.試していませ...
-軽く確認してみました.さすがに select 'a' from dual では...
-色々調べていただいてすみません。Oracle9i Release 9.2.0.1...
-文字セットを見るには、このSQLを実行してみてください。...
SELECT VALUE FROM V$NLS_PARAMETERS WHERE PARAMETER = 'NL...
-文字セットはJA16SJISです。 -- [[9]] &new{2005-01-27 (木)...
-一番手っ取り早い対策は、koichkさんが挙げられている、10g...
>
http://www.oracle.co.jp/products/system/matrix_db.html~
JDBC R10.1.0はOracle8i R8.1.7.4以降に対応します
<
-最初は検証するつもりでおたずねしたのですが、ちょっと時間...
// #comment
**daoについて [#ga7dce46]
>[[9]] (2005-01-20 (木) 17:14:45)~
~
updateのDAOを作成したのですが、~
実際に.sqlのファイルに書いてあるSQL文と~
少し違うSQL文が発行されてしまいます。~
また、.sqlを修正してもログに書かれるSQL文は変わらなくて~
困っています。名前をあわせること以外に何か重要なことでも~
有るのでしょうか?~
//
-これだけだと情報が少ないので,DAO のコードと .sql の内容...
-すみません。解決しました。oracleのDAOに接続するのにSQLフ...
-その状況でサフィックス無しの .sql ファイルが無い場合、S2...
// #comment
**デバッグ方法 [#i6bd12d1]
>[[うちま]] (2004-11-25 (木) 20:34:47)~
~
S2JSFやS2Strutsにおけるバインディングの間違い、S2全般でコ...
~
またkijimunaを利用するにしてもミスを発生させにくいdiconの...
//
-自己レスです。プロジェクトのプロパティに「Seasar2 プロジ...
// #comment
**ステートパターンの実装 [#z2bb8509]
>[[essence]] (2004-11-25 (木) 13:42:07)~
~
seasar環境でステートパターンを実装するときに、インターフ...
//
-DIコンテナで管理するオブジェクトは基本的にStatelessなの...
-S2 で管理するコンポーネントは Singleton で、内部状態を S...
-回答ありがとうございます。 -- [[essence]] &new{2004-12-0...
-なるほど。たしかに、インターフェースのサブタイプをつくれ...
-全部のインスタンス生成をコンテナに任せる必要はないという...
// #comment
**無題 [#sd0c34d9]
> (2004-11-18 (木) 23:28:42)~
~
diconが増えてきたのですが、1箇所にまとめたりする方法など...
//
-diconファイルはクラスパス上であれば好きなところに置けま...
// #comment
* 初めて使う人によく聞かれること [#p4458282]
// #article
**S2DAOでのrollbackについて [#dabf4264]
>[[にと]] (2005-03-15 11:23:05 (火))~
~
DB更新処理で~
1.トランザクション開始~
2.テーブルA更新 →成功~
3.テーブルB更新 →失敗~
4.ロールバック →トランザクション開始まで戻る~
のような処理を実現したいのですが、~
サンプルソースや情報源教えて下さい。~
//
-トランザクションの自動管理機能の説明は S2 本体のドキュメ...
-丁寧な回答ありがとうございます。教えていただいたサンプル...
// #comment
* FAQ向けの質問案 [#l959e2b3]
// #comment
終了行:
|&color(#992200){2005/07/17 しつもんこーなーを凍結します...
|それまでは ML をご利用ください。|
#contents
* しつもんこーなー [#r1089fef]
** ここのページの意味 [#y9092cf2]
-seasarを使用する上での疑問、質問に答えるコーナー。~
Wikiに質問コーナーを開設しました。~
Seasarを使っていて困ったことや質問を募集しています。~
過去に困ったこととその解決策も募集しています。~
チームで使っていて初心者がよく躓くような内容ほしいです。~
将来的には編集してFAQ作成を目指してます。ご協力お願いしま...
回答の内容はリンクでも可です。~
* つまづいたことや困ったこと [#cac3f1f4]
// #article
**S2DaoのDB接続先の切り替えについて [#ua37ebb1]
>[[gami]] (2005-07-07 19:13:39 (木))~
~
S2Daoを使用し、条件によってDBの接続先を変えることは出来る...
~
やりたい事~
~
パラメータとしてdriverClassName、URL、user、passwordが~
渡って来た場合は、この値を使ってDBに接続する。~
パラメータで値が渡って来なかった場合は、~
j2ee.diconの値でDBに接続する。~
~
以上、宜しくお願いいたします。~
//
-これはできません。ちょっと違いますが、複数の DataSource ...
-出来ないのですか、残念ですが諦めることにします。ありがと...
// #comment
**S2DAOでPKの無いテーブルのSelect [#y01ec549]
>[[gami]] (2005-07-07 18:59:14 (木))~
~
S2DAOでselect文を自動生成させ、~
プライマリーキーの無いテーブルで実行したところ~
PrimaryKeyNotFoundRuntimeExceptionが発生してしまいます。~
~
これは仕様なのでしょうか?~
select文なのでプライマリーキーは関係ないような気もするの...
~
回避方法等があれば教えてください。~
宜しくお願いします。~
~
-------------------------------------------------------~
org.seasar.dao.PrimaryKeyNotFoundRuntimeException: [EDAO0...
at org.seasar.dao.impl.AbstractAutoStaticCommand.checkPr...
at org.seasar.dao.impl.AbstractAutoStaticCommand.setupUp...
at org.seasar.dao.impl.UpdateAutoStaticCommand.setupSql(...
at org.seasar.dao.impl.AbstractAutoStaticCommand.<init>(...
at org.seasar.dao.impl.UpdateAutoStaticCommand.<init>(Up...
at org.seasar.dao.impl.DaoMetaDataImpl.setupUpdateMethod...
at org.seasar.dao.impl.DaoMetaDataImpl.setupMethodByAuto...
at org.seasar.dao.impl.DaoMetaDataImpl.setupMethod(DaoMe...
at org.seasar.dao.impl.DaoMetaDataImpl.setupSqlCommand(D...
at org.seasar.dao.impl.DaoMetaDataImpl.<init>(DaoMetaDat...
at org.seasar.dao.impl.DaoMetaDataFactoryImpl.getDaoMeta...
at org.seasar.dao.interceptors.S2DaoInterceptor.invoke(S...
//
-検索ではプライマリキーを見ないように1.0.14でなっているは...
-S2Daoのバージョンは1.0.26を使用しています。メソッド名はs...
-ソースはS2DaoMakerをつかって自動生成させているのですが、...
-S2Daoのサンプル (HSQLDB) でも発生することを確認しました...
-MLに投げました。大変申し訳ありませんが、以後はML(または...
-再現したというのは勘違いでした。Dao の interface に inse...
// #comment
**S2Daoでテーブルの切替 [#n4635c3d]
>[[rerun]] (2005-07-05 19:52:11 (火))~
~
S2Daoで条件によってTBLを切替える事は可能でしょうか。~
~
やりたい事を簡単に説明しますと、~
-レイアウトは全く同じで、日付レンジのみ異なるテーブルが3...
-パフォーマンス上の理由でテーブルは当月データ、前月データ...
-画面から条件指定で対象月を選択して、これらのテーブルから...
~
上記のような事を実現させたい場合、Bean、Daoインタフェース...
//
-できることはできます。スマートかどうかはさておき (^^;
SELECT * FROM
/*IF deptno <= 10*/DEPT/*END*/
/*IF 10 < deptno && deptno <= 20*/DEP2/*END*/
WHERE deptno = /*deptno*/
深く検証までしていませんけど、1.0.23で動作は確認しました...
-あ、このままだと2WaySQLになっていませんので、素のSQL文と...
// #comment
**S2JSFで同一画面遷移時の初期化禁止 [#g02c8754]
>[[rmiya]] (2005-07-03 02:04:34 (日))~
~
S2JSF 1.0.3でgoogleのような検索画面(同一画面に検索結果を...
~
検索画面にページの初期処理(検索結果を格納している~
DTOをクリアしている)を追加した状態で~
検索処理を実行すると、~
検索処理→初期処理の順番で処理が実行され、~
検索結果がクリアされてしまいます。~
~
同一画面に遷移時に、初期処理を実行しない方法はありません...
//
-初期処理が必要かどうかの判定を入れてください。検索条件と...
-初期処理が必要かどうかの判定を入れることにしました。あり...
// #comment
**SingletonS2ContainerFactoryのinit [#n2a2c37c]
>[[nemo]] (2005-06-23 17:50:57 (木))~
~
WebアプリケーションでS2コンテナを取得するためにSingletonS...
S2コンテナを取得する際にinitメソッドの呼びだしが行われて...
取得後にinitメソッドを呼び出す記述の必要はありますか?~
//
-S2ContainerServletを使っている場合、S2ContainerServletの...
// #comment
**PukiWikiの対策を行ってください [#u88b9ed3]
>[[( ´∀`)つ]] (2005-06-01 21:49:07 (水))~
~
余裕があればマイナーアップデートも。~
http://pukiwiki.org/index.php?PukiWiki%2FErrata~
[[PukiWiki1.4.5_1>http://pukiwiki.org/index.php?PukiWiki%...
//
-ありがとうございます。実は「ここでは脅威にはならない」と...
// #comment
**S2Daoで1テーブル対Nエンティティ [#nf5a88e9]
>[[SAL]] (2005-05-31 17:30:52 (火))~
~
S2Daoで1つのテーブルを複数のBean(エンティティ)に対応付...
~
例えば~
~
Personクラス{~
String code;
String name;
Order order;
}~
~
Orderクラス{~
String orderno;~
String item;
}~
~
ORDERテーブル(~
CODE~
NAME
ORDERNO
ITEM
)~
~
以上のような構成のとき、PersonDaoでgetAllPersons()をする...
~
実現可能かも含め、ご指導下さい。~
//
-可能といえば可能です.&br;
1:1 関連にある Person と Order が「たまたま」同じテーブル...
public class Person {
public static final String TABLE = "ORDER";
String code;
String name;
Order order;
・・・
}
public class Order {
String code;
String item;
}
public interface PersonDao {
public static final Class BEAN = Person;
Person getPerson(String code);
}
-このようなマッピングをしたくなるということは,適切に正規...
それができないからこのような質問になるのでしょうけど.(...
-ありがとうございます。上記の方法ではこちらのしたい事(一...
-できませんでした? と思ってよく見たら,Person に public ...
// #comment
**S2DaoでのSQLヒント文 [#y3dfad03]
>[[tetsu]] (2005-05-24 15:50:05 (火))~
~
S2DaoでSQLチューニングとしてヒント文(/*+ ヒント [ヒント] ...
~
SQL自動生成では対応できないと思いますが、SQLを外部から指...
~
AbstractDaoの実装は工数がかかりますので、外部SQLを利用す...
//
-Oracle なら「/*+ ヒント[ヒント] */」ではなく「--+ ヒント...
-すいません。まず誤りがありました。(誤)AbstractDao?の実装...
-ご指摘どおり「--+ ヒント [ヒント]」を利用して、外部SQLで...
// #comment
**s2strutsでファイルアップロード [#k7121a6b]
> (2005-05-08 02:28:41 (日))~
~
s2strutsでPOJOなFormBeanを使用してFormFileを扱うにはどう...
//
-Strutsを使うのと同じようにしてください。フォームクラスの...
// #comment
**ステートフルを無効にしたい [#vb97ba07]
>[[Flash]] (2005-04-29 00:16:56 (金))~
~
S2OpenAMFなのですが、~
実験のため、StateFull と StateLessの違いを示したいのです...
pojoでjava.io.Serializableを実装したときだけ、StateFullに...
それ以外はStateLessになるようにするには、どのようにすれば...
~
デフォルトでは、すべてStateFullになってしまうようなのです...
ご存知の方、教えていただければ幸いです、。~
//
-S2でコンポーネントを管理した場合は、componentタグのinsta...
-ありがとうございました。しかしinstance属性をprototypeに...
// #comment
**S2Daoで全件削除 [#k7077187]
> (2005-04-18 18:09:53 (月))~
~
Daoインターフェイスに全件削除メソッドを定義しようと思い以...
~
static String doDeleteAll_QUERY = "delete from EMPLOYEE";
void doDeleteAll();
~
解決策をお教えいただけないでしょうか。~
//
-メソッドの接頭辞を"delete"にし、アノテーションでなくSQL...
-全件削除なら TRUNCATE もあります。一般的にこちらのほうが...
// #comment
**Action内の独自クラスにAOP可能? [#k46bc6a1]
> (2005-04-11 19:26:06 (月))~
~
S2の導入を考えているのですが、S2Struts を使用し、Action内...
//
-対象のクラスがdiconファイルに記述されていて、Containerか...
-おー!さっそく試してみます。 -- &new{2005-04-12 18:06:2...
// #comment
**s2struts *.do→*.doの遷移 [#je5abca9]
> (2005-04-08 09:03:27 (金))~
~
環境:~
・Windows 2000 sp4~
・j2se 1.4.2~
・Tomcat 4.1.30~
・Struts 1.2.4~
・Seasar 2.2.6~
・S2Struts 1.1.5~
で開発しているのですが、ActionをPOJOにして、forward先を別...
struts-config.xmlのvalidate属性をtrueにして、input属性がP...
とりあえずその部分だけ、StrutsのActionを継承させれば回避...
他の環境では試してないのですが、不具合でしょうか?~
//
-実際に動作させてみますので、回答まで少しお待ちください。...
-実際に動作させましたが、自動バインディングはされました。...
// #comment
**S2DAO1.0.24埋め込み変数コメント [#a5eef00c]
> (2005-04-01 20:29:06 (金))~
~
SQLファイルで文字列カラムのWhere句を~
wehre ename = /*$dto.ename*/
とした場合、以下のように変数が埋め込まれ~
wehre ename = FORD
シングルコーテーションで文字列が囲まれていなく、エラーと...
~
回避方法を教えてください
//
-シングルクォートで囲んでほしいなら$は要らないですよ。 --...
-回答ありがとうございます。初歩的すぎる質問ですみませんで...
// #comment
**s2struts1.1.4でSwitchAction [#v985df54]
> (2005-03-29 17:36:54 (火))~
~
s2struts1.1.4でSwitchActionをした後~
遷移した先のモジュールのActionを実行すると~
「処理のためのパスが含まれて居ません」~
と出て全てのリクエストが通らなくなります。~
なにか特別な設定が必要なのでしょうか?~
#s2struts無しの場合正常に動いているアプリケーションです~
#s2strutsの設定はドキュメントの通り設定していて、Switch...
-s2struts.diconに記述しているRequestProcessorのinstance属...
-上記設定でうまくいきました! ありがとうございます。 -...
// #comment
**S2DaoでのSQLファイルのエンコーディング [#b3354ce3]
>[[HM]] (2005-03-04 18:14:15 (金))~
~
S2DaoにてUTF-8でSQLファイルを記述しようと思ったのですが、~
エンコーディング指定方法がありません。~
ソースからは~
DaoMetaDataImpl#setUpMethod~
TextUtil.readText
InputStreamRaderUtil.create
InputStreamRaderUtil.create
new InputStramRead( InputStream, "JisAutoDetect")
で、JIS系列の場合は大抵大丈夫なのでしょうが、I18n~
を思うとこの固定値は変更可能であった方が良いと思い~
ます。~
//
-考えてみます。 -- [[ひが]] &new{2005-03-06 15:13:12 (日)};
// #comment
**64bit環境下での動作保障について [#p61f1c91]
>[[もっともっと]] (2005-03-03 16:07:04 (木))~
~
ハードウェアはSolaris SPARC OS(64bit)で、APサーバにOracle...
開発予定です。~
上記環境下でS2は動作するのでしょうか?~
//
-LinuxのOracle10gでは動いているので、たぶん大丈夫でしょう...
// #comment
**daoについて [#edda20ac]
>[[9]] (2005-02-16 11:20:09 (水))~
~
mysqlをwindowsにインストールして~
実行して動いていたdaoが~
Linuxにインストールした際には動かず~
下記のようにテーブルが見つからないというエラーが返却され...
~
ESSR0071]SQLで例外が発生しました。理由はjava.sql.SQLExce...
message from server: "Table 'SN13.tbhz021' doesn't exist"~
at org.seasar.framework.util.DatabaseMetaDataUtil...
(DatabaseMetaDataUtil.java:42)
at org.seasar.dao.impl.BeanMetaDataImpl.setupData...
(BeanMetaDataImpl.java:230)
at org.seasar.dao.impl.BeanMetaDataImpl.<init>(Be...
at org.seasar.dao.impl.DaoMetaDataImpl.<init>(Dao...
at org.seasar.dao.impl.DaoMetaDataFactoryImpl.get...
(DaoMetaDataFactoryImpl.java:41)
at org.seasar.dao.interceptors.S2DaoInterceptor.i...
(S2DaoInterceptor.java:35)
at org.seasar.framework.aop.impl.MethodInvocation...
(MethodInvocationImpl.java:60)
at org.seasar.framework.aop.proxy.AopProxy.interc...
at model.dao.sdao.daohz021.Daohz021
$$EnhancerByCGLIB$$ee4442c4.selectCountByC...
~
大文字と小文字の区別によるエラーだと思いましたが~
DBのテーブル名もDAOで記載してあるDB名どちらとも大文字で書...
~
小文字でsqlが発行されているのではないかと思ったのですが、~
そのような仕様だったりするのでしょうか?~
dbのインストールミスかもしれませんが上記についてご指導お...
//
-すみません、以下のことについて教えてください。
--「インストール」とは、MySQL のことでしょうか。アプリ (D...
それとも両方でしょうか。
--Seasar2, S2Dao のバージョンはそれぞれいくつでしょうか。~
環境の問題だと、回答が遅くなるかもしれません。 -- [[suga]...
-大文字と小文字の区別だとすると、Bean の TABLE アノテーシ...
-バージョンですがdaoはs2-dao-1.0.10.jarでsearsorは2.0.20...
-TABLEアノテーションが小文字(先頭のみが大文字)だったの...
-どうやらテーブルの作成方法によって SQL に影響するようで...
-いろいろ、ご迷惑おかけしてすみません。自分で調べていきた...
// #comment
**同じ現象です(S2DAOのID自動生成機能について) [#zad3c0fa]
>[[いまだ]] (2005-02-08 15:25:53 (火))~
~
s2-dao-1.0.18を使用しています。~
identityを使ったIDの自動生成で、自動生成された値がBeanに...
~
DBはHSQLDBです。~
~
・テーブルクリエイト文は以下のとおりです。~
create table HOGE (
ID INTEGER NOT NULL IDENTITY,
NAME varchar(10),
PRIMARY KEY (ID)
);
~
・JavaBeansは以下のとおりです。~
(検証の為に、idの初期値をわざと-1にしています。)~
~
package examples.dao;
import java.io.Serializable;
public class Hoge implements Serializable {
public static final String TABLE = "hoge";
public static final String id_ID = "identity";
private int id = -1;
private String name;
public Hoge() {
}
/**
* @return id を戻します。
*/
public int getId() {
return id;
}
/**
* @param id id を設定。
*/
public void setId(int id) {
this.id = id;
}
/**
* @return name を戻します。
*/
public String getName() {
return name;
}
/**
* @param name name を設定。
*/
public void setName(String name) {
this.name = name;
}
}
~
・daoは以下のとおりです。~
package examples.dao;
public interface HogeDao {
public Class BEAN = Hoge.class;
public void insert(Hoge hoge);
}
~
・diconファイルは以下のとおりです。~
<?xml version="1.0" encoding="Shift_JIS"?>
<!DOCTYPE components PUBLIC "-//SEASAR//DTD S2Container/...
"http://www.seasar.org/dtd/components.dtd">
<components>
<include path="dao.dicon"/>
<component class="examples.dao.HogeDao">
<aspect>dao.interceptor</aspect>
</component>
</components>
・テスト用クラスは以下のとおりです。~
package examples.dao;
import org.seasar.framework.container.S2Container;
import org.seasar.framework.container.factory.S2Containe...
public class HogeDaoClient {
private static final String PATH = "examples/dao/Hog...
public static void main(String[] args) {
S2Container container = S2ContainerFactory.creat...
container.init();
try {
HogeDao dao = (HogeDao) container
.getComponent(HogeDao.class);
Hoge hoge = new Hoge();
hoge.setName("foo");
System.out.println("before insert id:" + hog...
dao.insert(hoge);
System.out.println("after insert id:" + hoge...
} finally {
container.destroy();
}
}
}
~
~
・実行結果は以下のようになります。~
~
before insert id:-1
DEBUG 2005-02-08 15:13:08,405 [main] 物理的なコネクショ...
DEBUG 2005-02-08 15:13:08,415 [main] 論理的なコネクショ...
DEBUG 2005-02-08 15:13:09,336 [main] 論理的なコネクショ...
DEBUG 2005-02-08 15:13:09,366 [main] 論理的なコネクショ...
DEBUG 2005-02-08 15:13:09,376 [main] INSERT INTO hoge (n...
DEBUG 2005-02-08 15:13:09,426 [main] CALL IDENTITY()
DEBUG 2005-02-08 15:13:09,436 [main] 物理的なコネクショ...
DEBUG 2005-02-08 15:13:09,436 [main] 論理的なコネクショ...
DEBUG 2005-02-08 15:13:09,476 [main] 論理的なコネクショ...
DEBUG 2005-02-08 15:13:09,476 [main] 論理的なコネクショ...
after insert id:0
DEBUG 2005-02-08 15:13:09,486 [main] 物理的なコネクショ...
DEBUG 2005-02-08 15:13:09,486 [main] 物理的なコネクショ...
テーブルのIDカラムには正しくセットされていますが、~
何度実行しても、~
after insert id:0~
となってしまい、自動生成されたid番号が取得できません。~
~
なお、~
SEQUENCEを使ったID自動生成では、うまくidを取得できました。~
~
-1から0に変わっているので、
何かしらセットされているのだと思いますが、うまくいかない...
//
-トランザクションを使ってないせい(insertで割り当てられたi...
-トランザクションを使うようにしたらうまくいきました。あり...
// #comment
**S2DAOのID自動生成機能について [#y0c5f00d]
>[[ko-chan]] (2005-02-08 11:10:26 (火))~
~
ドキュメンテーションの通りにやっているのですが、ID自動生...
ドキュメンテーションの設定以外にも設定が必要なのでしょう...
~
ドキュメントの設定→『public static final String id_ID = "...
//
-上記の解答のとおり、トランザクションを使っているか確認し...
// #comment
**selectのDAOについて [#t1711644]
>[[9]] (2005-01-21 (金) 09:28:41)~
~
char項目をselectのDAOで取得する際、~
実際にDBに入っているデータより多くスペース~
がついています。(データが2バイト文字の場合)~
4桁のcharの項目に1文字(2バイト文字)のデータが入っている...
取得されるデータは3つのスペースが付加されます。~
2バイト文字がフル桁ではいっている場合もスペースが付加さ...
対応策はないのでしょうか?~
//
-char 型は固定長の文字列を保存するための型なので,データ...
-4桁のchar項目に1バイト文字を1 -- [[9]] &new{2005-01-21 ...
-説明不足だったかも知れませんが、4桁のchar項目に2バイト...
-下と同じであれば、RDBMS は Oracle と考えてよろしいでしょ...
-そういえば Oracle の JDBC ドライバがへぼいために,char ...
-えと,trim() は Java の String#trim() です.試していませ...
-軽く確認してみました.さすがに select 'a' from dual では...
-色々調べていただいてすみません。Oracle9i Release 9.2.0.1...
-文字セットを見るには、このSQLを実行してみてください。...
SELECT VALUE FROM V$NLS_PARAMETERS WHERE PARAMETER = 'NL...
-文字セットはJA16SJISです。 -- [[9]] &new{2005-01-27 (木)...
-一番手っ取り早い対策は、koichkさんが挙げられている、10g...
>
http://www.oracle.co.jp/products/system/matrix_db.html~
JDBC R10.1.0はOracle8i R8.1.7.4以降に対応します
<
-最初は検証するつもりでおたずねしたのですが、ちょっと時間...
// #comment
**daoについて [#ga7dce46]
>[[9]] (2005-01-20 (木) 17:14:45)~
~
updateのDAOを作成したのですが、~
実際に.sqlのファイルに書いてあるSQL文と~
少し違うSQL文が発行されてしまいます。~
また、.sqlを修正してもログに書かれるSQL文は変わらなくて~
困っています。名前をあわせること以外に何か重要なことでも~
有るのでしょうか?~
//
-これだけだと情報が少ないので,DAO のコードと .sql の内容...
-すみません。解決しました。oracleのDAOに接続するのにSQLフ...
-その状況でサフィックス無しの .sql ファイルが無い場合、S2...
// #comment
**デバッグ方法 [#i6bd12d1]
>[[うちま]] (2004-11-25 (木) 20:34:47)~
~
S2JSFやS2Strutsにおけるバインディングの間違い、S2全般でコ...
~
またkijimunaを利用するにしてもミスを発生させにくいdiconの...
//
-自己レスです。プロジェクトのプロパティに「Seasar2 プロジ...
// #comment
**ステートパターンの実装 [#z2bb8509]
>[[essence]] (2004-11-25 (木) 13:42:07)~
~
seasar環境でステートパターンを実装するときに、インターフ...
//
-DIコンテナで管理するオブジェクトは基本的にStatelessなの...
-S2 で管理するコンポーネントは Singleton で、内部状態を S...
-回答ありがとうございます。 -- [[essence]] &new{2004-12-0...
-なるほど。たしかに、インターフェースのサブタイプをつくれ...
-全部のインスタンス生成をコンテナに任せる必要はないという...
// #comment
**無題 [#sd0c34d9]
> (2004-11-18 (木) 23:28:42)~
~
diconが増えてきたのですが、1箇所にまとめたりする方法など...
//
-diconファイルはクラスパス上であれば好きなところに置けま...
// #comment
* 初めて使う人によく聞かれること [#p4458282]
// #article
**S2DAOでのrollbackについて [#dabf4264]
>[[にと]] (2005-03-15 11:23:05 (火))~
~
DB更新処理で~
1.トランザクション開始~
2.テーブルA更新 →成功~
3.テーブルB更新 →失敗~
4.ロールバック →トランザクション開始まで戻る~
のような処理を実現したいのですが、~
サンプルソースや情報源教えて下さい。~
//
-トランザクションの自動管理機能の説明は S2 本体のドキュメ...
-丁寧な回答ありがとうございます。教えていただいたサンプル...
// #comment
* FAQ向けの質問案 [#l959e2b3]
// #comment
ページ名: