Hyperjaxbの作成者はこちら。
HJ3 は、可能な限りデータベース間で互換性のある注釈を生成しようとします。30 文字の切り捨ては Oracle によるものです。
現時点では、デフォルトの命名戦略で「ハードコーディング」されています。これを「簡単に」再構成する方法はありません (つまり、プラグイン構成オプションなどを介して)。唯一のオプションは、独自の命名戦略を作成するか、デフォルトの命名戦略を記録することです。これを行う方法を示すテスト プロジェクトを次に示します。
https://github.com/highsource/hyperjaxb3/tree/master/ejb/tests/custom-naming
org/jvnet/hyperjaxb3/ejb/plugin/custom/applicationContext.xml
基本的に、ファイルを使用して「拡張」JARを作成するだけでよいと思います。
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
<bean name="naming" class="org.jvnet.hyperjaxb3.ejb.strategy.naming.impl.DefaultNaming">
<property name="reservedNames" ref="reservedNames"/>
<property name="ignoring" ref="ignoring"/>
<property name="maxIdentifierLength" value="128"/>
</bean>
</beans>
次に、この成果物を HJ3 プラグインのクラスパスに追加します。たとえば、Maven では次のようになります。
<build>
<defaultGoal>test</defaultGoal>
<plugins>
<plugin>
<groupId>org.jvnet.hyperjaxb3</groupId>
<artifactId>maven-hyperjaxb3-plugin</artifactId>
<dependencies>
<dependency>
<groupId>org.jvnet.hyperjaxb3</groupId>
<artifactId>hyperjaxb3-ejb-tests-custom-naming-extension</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
これにより、デフォルトの命名設定が上書きされます。