V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
Jianrry
V2EX  ›  问与答

请教大家一个关于 SpringBoot 的问题

  •  
  •   Jianrry · 2020-02-18 21:59:32 +08:00 · 1438 次点击
    这是一个创建于 1540 天前的主题,其中的信息可能已经有所发展或是发生改变。

    有一个实体类 Article.java

    里面有两个字段

        @ManyToMany(cascade = {CascadeType.PERSIST})
        private List<Tag> tags = new ArrayList<>();
    
        @Transient
        private String tagStr;
    

    tagStr 的作用是将 tags 拼接成字符串(StringUtils.join(tags , ",")),然后在前台显示, 这是一个非数据库字段.

    我想请教一下如何给 tagStr 动态赋值?

    我尝试过在 tagStr 的 set 方法里面赋值,在前台里面调用这个属性,结果返回的是空.

    public void setTagStr(String tagStr) {
        this.tagStr = StringUtils.join(tags , ,);
    }
    

    在网上搜索了半天, 还没找到什么适合的解决方案,麻烦各位大佬帮忙看一下

    8 条回复    2020-02-19 14:42:42 +08:00
    gaobing
        1
    gaobing  
       2020-02-18 22:24:52 +08:00 via Android   ❤️ 1
    没有 tagStr 字段,set 方法不会被调用的,select 语句里使用 select “1” tagStr,... ,或者 get 方法设置一下 public String getTagStr(String tagStr) {
    return StringUtils.join(tags , ,);
    }
    Jianrry
        2
    Jianrry  
    OP
       2020-02-18 22:36:28 +08:00
    @gaobing

    get 方法里面已经试过了, 返回的是报错信息

    ```
    A problem occurred whilst attempting to access the property 'tagStr': 'Unable to access property 'tagStr' through getter method'
    ```
    tagStr 这个属性没有办法通过 get 方法访问到

    至于 select 语句里使用 select “1” tagStr,... ,我用的是 springboot jpa 里面没有办法写 sql 语句,所以没有尝试.
    leonme
        3
    leonme  
       2020-02-18 22:41:07 +08:00 via iPhone   ❤️ 1
    @Jianrry jpa 可以写 sql 啊
    Jianrry
        4
    Jianrry  
    OP
       2020-02-18 22:54:22 +08:00
    @leonme 抱歉, 刚才去搜了一下,发现是我错了, spring jpa 也可以写 sql, 我实在是太无知了.
    jamesxu
        5
    jamesxu  
       2020-02-18 23:41:13 +08:00 via iPhone   ❤️ 1
    @gaobing
    @Jianrry
    get 方法写错了,括号里没有参数,用 get 方法是完全没有问题的,我经常这么干
    Jianrry
        6
    Jianrry  
    OP
       2020-02-19 00:05:59 +08:00
    @jamesxu 上面的 get 方法确实写错了,不需要传参,但正确的 get 方法我也试过了呀,还是和上面一样的报错信息...


    public String getTagStr() {
    return StringUtils.join(tags,",");
    }
    wpblank
        7
    wpblank  
       2020-02-19 01:11:47 +08:00 via iPhone   ❤️ 1
    直接把变量删了,单独加这个 get 方法呢?
    Jianrry
        8
    Jianrry  
    OP
       2020-02-19 14:42:42 +08:00
    @wpblank 已经试过了,还是报错,前端取不到值
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3352 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 14:45 · PVG 22:45 · LAX 07:45 · JFK 10:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.