当前位置: 首页 > 知识库问答 >
问题:

如何为扩展父对象编号的树实体对象编号?

焦光霁
2023-03-14

我有一个项目实体

@Entity
public class Item {

  @Id
  private Long id;

  @ManyToOne
  private Item parentItem;

  private String name;

  private String number;

  // getters & setters

}

我想要一个生成具有以下规则的数字的函数:

  • 元素得到一个像1这样的数字。2.

共有1个答案

牟恺
2023-03-14

只需穿过(从左到根)这棵树,然后点击数字:

@Entity
public class Item {

  @Id
  private Long id;

  @ManyToOne
  private Item parentItem;

  private String name;

  private String number;

  String getHierarchy(){
    return this.parentItem != null ? 
             this.parentItem.getHierarchy() + " . " + this.number :
             this.number
  }

}
 类似资料:
  • 编组或取消编组对象 您可以将若干个对象合并到一个组中,把这些对象作为一个单元同时进行处理。这样,您就可以同时移动或变换若干个对象,且不会影响其属性或相对位置。例如,您可能想将徽标设计中的对象编成一组,以便将其作为一个单元进行移动和缩放。 编组对象被连续堆叠在图稿的同一图层上,位于组中最前端对象之后;因此,编组可能会更改对象的图层分布及其在给定图层上的堆叠顺序。如果您选择位于不同图层中的对象并将其编

  • 编组或取消编组对象 您可以将若干个对象合并到一个组中,把这些对象作为一个单元同时进行处理。这样,您就可以同时移动或变换若干个对象,且不会影响其属性或相对位置。例如,您可能想将徽标设计中的对象编成一组,以便将其作为一个单元进行移动和缩放。 编组对象被连续堆叠在图稿的同一图层上,位于组中最前端对象之后;因此,编组可能会更改对象的图层分布及其在给定图层上的堆叠顺序。如果您选择位于不同图层中的对象并将其编

  • 属性的简洁表示法 ES6允许直接写入变量和函数,作为对象的属性和方法。这样的书写更加简洁。 var foo = 'bar'; var baz = {foo}; baz // {foo: "bar"} // 等同于 var baz = {foo: foo}; 上面代码表明,ES6允许在对象之中,只写属性名,不写属性值。这时,属性值等于属性名所代表的变量。下面是另一个例子。 function f(

  • 问题内容: 我试图在不修改本机对象本身的情况下继承/扩展本机Date对象。 我已经试过了: 还有这个: 在这两种情况下都可以,但是当我调用任何本地方法(例如甚至)时,都会收到“ TypeError:这不是Date对象”。 有任何想法吗?还是我坚持扩展顶级Date对象? 问题答案: 查看date.js中的v8代码: 并且看起来DATE_VALUE是执行此操作的宏: 因此,似乎v8不会让您继承Date

  • 本文向大家介绍详解JS中Array对象扩展与String对象扩展,包括了详解JS中Array对象扩展与String对象扩展的使用技巧和注意事项,需要的朋友参考一下 废话不多说了,直接给大家上array对象扩展代码了,具体代码如下所示: 下面是string对象扩展代码如下所示:

  • 问题 你想要扩展一个类来增加新的函数或者替换旧的。 解决方案 使用 :: 把你的新函数分配到对象或者类的原型中。 String::capitalize = () -> (this.split(/\s+/).map (word) -> word[0].toUpperCase() + word[1..-1].toLowerCase()).join ' ' "foo bar baz".ca