findByDescriptionContaining(String description)のlobストリームにアクセスできません

セロファン:

文字列パラメータによる簡単な検索があります。このページは、DBクエリのテーブルとシンプルなフォーム(入力+ボタン)で構成されています。検索スラッシュフィルターは、リポジトリとコントローラーのアドオンで実装されます。テンプレートエンジンはFreemarkerです。

ただし、検索入力に既存のデータが含まれている場合は、例外がスローされますnested exception is org.hibernate.HibernateException: Unable to access lob streamNullデータと存在しないデータは正しく機能します(それぞれクエリがないか、すべてが表示されています)。

型番

@Entity
@Table(name = "files")
public class DBFile {
    @Id
    @GeneratedValue(generator = "uuid")
    @GenericGenerator(name = "uuid", strategy = "uuid2")
    private String id;
    private String fileName;
    private String fileType;
    private String description;

    @Basic(fetch=FetchType.EAGER)
    @Lob
    private byte[] data;

    @ManyToOne(fetch = FetchType.EAGER)
    @JoinColumn(name = "user_id")
    private User creator;

    @CreationTimestamp
    @Temporal(TemporalType.TIMESTAMP)
    @Column(name = "create_date")
    private Date createDate;

    public DBFile() {
    }

    public DBFile(String fileName, String fileType, String description, byte[] data, User user) {
        this.fileName = fileName;
        this.fileType = fileType;
        this.description = description;
        this.data = data;
        this.creator = user;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getFileName() {
        return fileName;
    }

    public void setFileName(String fileName) {
        this.fileName = fileName;
    }

    public String getFileType() {
        return fileType;
    }

    public void setFileType(String fileType) {
        this.fileType = fileType;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public byte[] getData() {
        return data;
    }

    public void setData(byte[] data) {
        this.data = data;
    }

    public User getCreator() {
        return creator;
    }

    public void setCreator(User creator) {
        this.creator = creator;
    }

    public Date getCreateDate() {
        return createDate;
    }

    public void setCreateDate(Date createDate) {
        this.createDate = createDate;
    }
}

リポジトリ

@Repository
public interface DBFileRepository extends JpaRepository<DBFile, String> {
    List<DBFile> findByDescriptionContaining(String description);
}

コントローラ

@Autowired
    private DBFileRepository dbFileRepository;

@GetMapping("/search")
    public String search(@RequestParam(required = false, defaultValue = "") String search, Model model) {
        Iterable<DBFile> dbFiles;
        if (search != null && !search.isEmpty()) {
            dbFiles = dbFileRepository.findByDescriptionContaining(search);
        } else {
            dbFiles = dbFileRepository.findAll();
        }
        model.addAttribute("dbFiles", dbFiles);
        return "search";
    }

テンプレート

<@c.page>

    <form method="get">
        <div class="form-group">
            <input type="text" class="form-control" name="search" value="${search?ifExists}" />
        </div>
        <div class="form-group">
            <button type="submit" class="btn btn-primary">Search</button>
        </div>
    </form>
    <div class="table">
        <table class="table table-hover">
            <thead>
                <tr>
                    <th>Name</th>
                    <th>Description</th>
                </tr>
            </thead>
            <tbody>
            <#list dbFiles as dbFile>
                <tr>
                    <td>${dbFile.fileName}</td>
                    <td>${dbFile.description}</td>
                </tr>
            </#list>
            </tbody>
        </table>
    </div>

</@c.page>

ログ

java.lang.reflect.InvocationTargetException: null
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_192]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_192]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_192]
    at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_192]
    at org.hibernate.engine.jdbc.env.internal.LobCreatorBuilderImpl.useContextualLobCreation(LobCreatorBuilderImpl.java:113) [hibernate-core-5.2.14.Final.jar:5.2.14.Final]
    at org.hibernate.engine.jdbc.env.internal.LobCreatorBuilderImpl.makeLobCreatorBuilder(LobCreatorBuilderImpl.java:54) [hibernate-core-5.2.14.Final.jar:5.2.14.Final]
    at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentImpl.<init>(JdbcEnvironmentImpl.java:271) [hibernate-core-5.2.14.Final.jar:5.2.14.Final]
    at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:114) [hibernate-core-5.2.14.Final.jar:5.2.14.Final]
    at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:35) [hibernate-core-5.2.14.Final.jar:5.2.14.Final]
    at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.initiateService(StandardServiceRegistryImpl.java:88) [hibernate-core-5.2.14.Final.jar:5.2.14.Final]
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:259) [hibernate-core-5.2.14.Final.jar:5.2.14.Final]
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:233) [hibernate-core-5.2.14.Final.jar:5.2.14.Final]
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:210) [hibernate-core-5.2.14.Final.jar:5.2.14.Final]
    at org.hibernate.engine.jdbc.internal.JdbcServicesImpl.configure(JdbcServicesImpl.java:51) [hibernate-core-5.2.14.Final.jar:5.2.14.Final]
    at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:94) [hibernate-core-5.2.14.Final.jar:5.2.14.Final]
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:242) [hibernate-core-5.2.14.Final.jar:5.2.14.Final]
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:210) [hibernate-core-5.2.14.Final.jar:5.2.14.Final]
    at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.handleTypes(MetadataBuildingProcess.java:352) [hibernate-core-5.2.14.Final.jar:5.2.14.Final]
    at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:111) [hibernate-core-5.2.14.Final.jar:5.2.14.Final]
    at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.metadata(EntityManagerFactoryBuilderImpl.java:861) [hibernate-core-5.2.14.Final.jar:5.2.14.Final]
    at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:888) [hibernate-core-5.2.14.Final.jar:5.2.14.Final]
    at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:57) [spring-orm-5.0.4.RELEASE.jar:5.0.4.RELEASE]
    at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:365) [spring-orm-5.0.4.RELEASE.jar:5.0.4.RELEASE]
    at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:388) [spring-orm-5.0.4.RELEASE.jar:5.0.4.RELEASE]
    at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:377) [spring-orm-5.0.4.RELEASE.jar:5.0.4.RELEASE]
    at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet(LocalContainerEntityManagerFactoryBean.java:341) [spring-orm-5.0.4.RELEASE.jar:5.0.4.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1769) [spring-beans-5.0.4.RELEASE.jar:5.0.4.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1706) [spring-beans-5.0.4.RELEASE.jar:5.0.4.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:583) [spring-beans-5.0.4.RELEASE.jar:5.0.4.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:502) [spring-beans-5.0.4.RELEASE.jar:5.0.4.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:312) [spring-beans-5.0.4.RELEASE.jar:5.0.4.RELEASE]
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:228) ~[spring-beans-5.0.4.RELEASE.jar:5.0.4.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:310) [spring-beans-5.0.4.RELEASE.jar:5.0.4.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200) [spring-beans-5.0.4.RELEASE.jar:5.0.4.RELEASE]
    at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1085) ~[spring-context-5.0.4.RELEASE.jar:5.0.4.RELEASE]
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:858) ~[spring-context-5.0.4.RELEASE.jar:5.0.4.RELEASE]
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:549) ~[spring-context-5.0.4.RELEASE.jar:5.0.4.RELEASE]
    at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:140) ~[spring-boot-2.0.0.RELEASE.jar:2.0.0.RELEASE]
    at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:752) ~[spring-boot-2.0.0.RELEASE.jar:2.0.0.RELEASE]
    at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:388) ~[spring-boot-2.0.0.RELEASE.jar:2.0.0.RELEASE]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:327) ~[spring-boot-2.0.0.RELEASE.jar:2.0.0.RELEASE]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1246) ~[spring-boot-2.0.0.RELEASE.jar:2.0.0.RELEASE]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1234) ~[spring-boot-2.0.0.RELEASE.jar:2.0.0.RELEASE]
    at ru.tpu.file_java.Application.main(Application.java:9) ~[classes/:na]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_192]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_192]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_192]
    at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_192]
    at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) ~[spring-boot-devtools-2.0.0.RELEASE.jar:2.0.0.RELEASE]
Caused by: java.sql.SQLFeatureNotSupportedException: Method org.postgresql.jdbc.PgConnection.createClob() is not yet implemented.
    at org.postgresql.Driver.notImplemented(Driver.java:683) ~[postgresql-42.2.1.jar:42.2.1]
    at org.postgresql.jdbc.PgConnection.createClob(PgConnection.java:1252) ~[postgresql-42.2.1.jar:42.2.1]
    ... 49 common frames omitted
セロファン:

解決:

追加後spring.jpa.properties.hibernate.jdbc.lob.non_contextual_creation=true、別の例外が発生しました- org.postgresql.util.PSQLException: Large Objects may not be used in auto-commit mode

しかし、それから私は解決策を見つけました、それは私のために絶対に働きました:org.hibernate.HibernateException [org.postgresql.util.PSQLException:ラージオブジェクトは自動コミットモードでは使用されないかもしれません。]

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

JSONを書き込めませんでした:LOBストリームにアクセスできません

分類Dev

string_google bigqueryタイプの値のフィールドにアクセスできません

分類Dev

ObservableCollection <string>のアイテムは、WPFリストボックスにバインドされたときに更新されません

分類Dev

タイプARRAY <STRUCT <productSKU STRING、v2ProductName STRING、v2ProductCategory STRING、... >>の値のフィールドproductQuantityにアクセスできません。

分類Dev

ハイブ:現在のトークン(VALUE_STRING)は数値ではなく、ネストされたjsonのハイブで外部テーブルをクエリしようとしているときに数値アクセサーを使用できません

分類Dev

java.lang.Stringではjava.lang.Longのfirebaseリアルタイムにキャストすることはできません

分類Dev

FirebaseInstanceId.zzju(java.lang.String)' はクラスにアクセスできません

分類Dev

intent.putExtras(String key、Message object)throwsプロセス間でParcelable以外のオブジェクトをマーシャリングできません

分類Dev

START_OBJECTトークンから「java.lang.String」のインスタンスをデシリアライズできません

分類Dev

例外:「org.codehaus.jackson.map.JsonMappingException:START_OBJECTトークンからjava.lang.Stringのインスタンスを逆シリアル化できません」

分類Dev

例外:「org.codehaus.jackson.map.JsonMappingException:START_OBJECTトークンからjava.lang.Stringのインスタンスを逆シリアル化できません」

分類Dev

JsonMappingException:START_OBJECTトークン1からjava.lang.Stringのインスタンスを逆シリアル化できません

分類Dev

JsonMappingException:START_OBJECTトークン1からjava.lang.Stringのインスタンスを逆シリアル化できません

分類Dev

Jacksonは、VALUE_STRINGトークンからjava.util.ArrayListのインスタンスを逆シリアル化できません

分類Dev

ジャージーのGensonJsonBindingException:型クラスjava.lang.Stringに逆シリアル化できませんでした

分類Dev

リストビューのバインド中にタイプ「string」を「bool」に変換できません

分類Dev

WCF:閉じたストリームにアクセスできません

分類Dev

ClosedXml閉じたストリームにアクセスできません

分類Dev

C#-閉じたストリームにアクセスできません

分類Dev

EPPlusは閉じたストリームにアクセスできません

分類Dev

mvvmcrossiOSリストにバインド `lambdaexpression 'を非デリゲート型` string'に変換できません

分類Dev

Java 8でPOJOを使用せずにオブジェクトのリストまたはストリームからHashMap <String、String>として収集する

分類Dev

添付ファイルの送信中に閉じたストリームにアクセスできません

分類Dev

WebAPIにリモートでアクセスできません

分類Dev

このエラーメッセージを回避する方法はありますか?「リソース@string / todoを解決できませんでしたヒント:レイアウトを更新してみてください。」

分類Dev

createDataFrame取得メッセージjava.lang.Stringをjava.sql.Dateにキャストできません

分類Dev

Apacheは私のホームディレクトリのフォルダにアクセスできません

分類Dev

Apacheは私のホームディレクトリのフォルダにアクセスできません

分類Dev

string :: c_str()の結果にアクセスするときのvalgrindメモリアクセスエラー

Related 関連記事

  1. 1

    JSONを書き込めませんでした:LOBストリームにアクセスできません

  2. 2

    string_google bigqueryタイプの値のフィールドにアクセスできません

  3. 3

    ObservableCollection <string>のアイテムは、WPFリストボックスにバインドされたときに更新されません

  4. 4

    タイプARRAY <STRUCT <productSKU STRING、v2ProductName STRING、v2ProductCategory STRING、... >>の値のフィールドproductQuantityにアクセスできません。

  5. 5

    ハイブ:現在のトークン(VALUE_STRING)は数値ではなく、ネストされたjsonのハイブで外部テーブルをクエリしようとしているときに数値アクセサーを使用できません

  6. 6

    java.lang.Stringではjava.lang.Longのfirebaseリアルタイムにキャストすることはできません

  7. 7

    FirebaseInstanceId.zzju(java.lang.String)' はクラスにアクセスできません

  8. 8

    intent.putExtras(String key、Message object)throwsプロセス間でParcelable以外のオブジェクトをマーシャリングできません

  9. 9

    START_OBJECTトークンから「java.lang.String」のインスタンスをデシリアライズできません

  10. 10

    例外:「org.codehaus.jackson.map.JsonMappingException:START_OBJECTトークンからjava.lang.Stringのインスタンスを逆シリアル化できません」

  11. 11

    例外:「org.codehaus.jackson.map.JsonMappingException:START_OBJECTトークンからjava.lang.Stringのインスタンスを逆シリアル化できません」

  12. 12

    JsonMappingException:START_OBJECTトークン1からjava.lang.Stringのインスタンスを逆シリアル化できません

  13. 13

    JsonMappingException:START_OBJECTトークン1からjava.lang.Stringのインスタンスを逆シリアル化できません

  14. 14

    Jacksonは、VALUE_STRINGトークンからjava.util.ArrayListのインスタンスを逆シリアル化できません

  15. 15

    ジャージーのGensonJsonBindingException:型クラスjava.lang.Stringに逆シリアル化できませんでした

  16. 16

    リストビューのバインド中にタイプ「string」を「bool」に変換できません

  17. 17

    WCF:閉じたストリームにアクセスできません

  18. 18

    ClosedXml閉じたストリームにアクセスできません

  19. 19

    C#-閉じたストリームにアクセスできません

  20. 20

    EPPlusは閉じたストリームにアクセスできません

  21. 21

    mvvmcrossiOSリストにバインド `lambdaexpression 'を非デリゲート型` string'に変換できません

  22. 22

    Java 8でPOJOを使用せずにオブジェクトのリストまたはストリームからHashMap <String、String>として収集する

  23. 23

    添付ファイルの送信中に閉じたストリームにアクセスできません

  24. 24

    WebAPIにリモートでアクセスできません

  25. 25

    このエラーメッセージを回避する方法はありますか?「リソース@string / todoを解決できませんでしたヒント:レイアウトを更新してみてください。」

  26. 26

    createDataFrame取得メッセージjava.lang.Stringをjava.sql.Dateにキャストできません

  27. 27

    Apacheは私のホームディレクトリのフォルダにアクセスできません

  28. 28

    Apacheは私のホームディレクトリのフォルダにアクセスできません

  29. 29

    string :: c_str()の結果にアクセスするときのvalgrindメモリアクセスエラー

ホットタグ

アーカイブ